使用EPPLUS在for循环中写入单元格会导致重复值

时间:2018-08-17 12:31:05

标签: c# .net epplus

我不明白为什么下面的代码将2、2、2写入Excel,而应为0、1、2。该代码非常简单-创建 ExcelPackage ,添加 Worksheet ,然后迭代循环以将值写入单元格。

using (ExcelPackage p = new ExcelPackage())
{
    p.Workbook.Worksheets.Add("Foo");
    for (int j = 0; j < 3; j++)
        p.Workbook.Worksheets["Foo"].Cells[1, 1, 1, 1 + j].Value = j;
    p.SaveAs(new FileInfo(@"C:\FooFolder\Foo.xlsx"));
}

enter image description here

1 个答案:

答案 0 :(得分:2)

您在一个范围内而不是一个唯一的单元格中书写。使用Cells[1, 1, 1, 1 + j],您将从单元格1,1写入单元格1,1 + j:整个范围都采用分配的值。

改为使用Cells[1, j, 1, 1 + j]