我在ASP.NET MVC4 C#项目中有一个Excel工作表,并且能够使用EPPlus成功读取Excel工作表。现在,我希望能够将2个数字传递到单元格C:2和C:3中,并能够调用C:4中的公式,即= SUM(C2:C3)。
因此,我想从C#中传入4和6并调用公式,并能够从C:4获得40(SUM为10和30)的结果。我该如何在C#中实现这一目标。
在以下代码中,我得到d.Average的零。
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
这是到目前为止我在C#中使用以下代码来遍历一行。
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
currentWorksheet.Workbook.CalcMode = ExcelCalcMode.Automatic;
currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
currentWorksheet.Cells["C2"].Value = 10;
currentWorksheet.Cells["C3"].Value = 30;
package.Save();
}
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
}
最佳答案
跳过公式字符串中的=
。
替换currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
和currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";