3

我正在使用 EPPlus。我被困在单元格公式中。

我的代码如下:

ExcelPackage pck = new ExcelPackage(@"D:\MYSheets\EmptyFile.xlsx");
var ws = pck.Workbook.Worksheets["MySheet"];

ws.Cells["A3"].Value = "2.3";
ws.Cells["A4"].Value = "10.2";

ws.Cells["A5"].Formula = "=SUM(A3:A4)";
ws.Cells["A5"].Style.Numberformat.Format = "#,##0.00";
pck.Save();

当我打开 Excel 时,默认情况下,A5 单元格不计算 A3 和 A4 的总和。除非我修改 A3 和/或 A4 单元格,否则 A5 单元格仍然不计算。

我尝试使用以下代码,但它对我不起作用:

ws.Workbook.CalcMode = ExcelCalcMode.Automatic;
4

3 回答 3

10

尝试:

ws.Cells["A3"].Value = 2.3;
ws.Cells["A4"].Value = 10.2;

您告诉 EPPlus 将值存储为字符串,这就是公式失败的原因。

于 2013-06-13T07:31:10.957 回答
1

也更换

ws.Cells["A5"].Formula = "=SUM(A3:A4)";

ws.Cells["A5"].Formula = "SUM(A3:A4)";

到 A5 的结果值

于 2015-11-27T13:05:50.493 回答
-1

在工作表、工作簿或单元格上执行 Calculate() 以确保公式执行。 https://epplus.codeplex.com/wikipage?title=About%20Formula%20calculation

于 2016-04-29T19:07:23.743 回答