C#将数据填充到excel.range不起作用
本文关键字:excel range 不起作用 填充 数据 | 更新日期: 2023-09-27 18:28:58
我使用Microsoft.Office.Interop.Excel
将数据写入excel
现在我使用下面的代码将数据填充到一系列单元格中。假设从P10到P20
Excel.Worksheet ps_sheet = //current worksheet
string[,] data = new string[11,1];
var r = ps_sheet.Range["P10", "P20"];
r.Value2 = data;
上面的代码工作正常,但如果范围内只有一个单元格(例如"P20"到"P20"),代码将不起作用,则该单元格显示旧数据。
Excel.Worksheet ps_sheet = //current worksheet
string[,] data = new string[1,1];
var r = ps_sheet.Range["P20", "P20"];
r.Value2 = data;
excel_range可以只有一个单元格,也可以有多个单元格,因为我正在循环。
这种情况发生的原因是什么?如何解决?
只使用一个参数,第二个参数是可选的
var r = ps_sheet.Range["P20"];
工作表。更改属性
我改为下面的代码,它可以工作:
if (data.GetLength(0) == 1)
{
r = ps_sheet.Range["P10"];
r.Value2 = data[0, 1];
}
else
{
r = ps_sheet.Range["P10", "P20"];
r.Value2 = data;
}
我特意做了一个案例,如果数据只有一行。。。不知道是否有更好的方法来实现这个