dot*_*ner 15 c# excel asp.net-mvc-4 epplus
我在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);
        }
ogb*_*tad 20
跳过=公式字符串.
更换 currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)"; 
同
currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";
Dei*_*lan 11
从EpPlus 4.0.1.1开始,有一种扩展方法Calculate(this ExcelRangeBase range).在访问Value属性之前调用它:
currentWorksheet.Cells["C4"].Calculate();
并且currentWorksheet.Cells["C4"].Value将返回的预期值40之后.
| 归档时间: | 
 | 
| 查看次数: | 31531 次 | 
| 最近记录: |