C#将数据填充到excel.range不起作用

时间:2016-01-05 10:14:37

标签: c# asp.net excel

我正在使用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只能有一个单元格或者有多个单元格,因为我正在循环。

是否有任何理由发生这种情况以及如何解决?

2 个答案:

答案 0 :(得分:3)

只使用一个参数,第二个参数是可选的

 var  r = ps_sheet.Range["P20"];

Worksheet.Range Property

答案 1 :(得分:0)

我改为以下代码并且有效:

<input>

如果数据只有一行,我特意做了一个案例...... 不知道是否有更好的方法来实现这个目标