我在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)";

09-26 13:54