公式忽略相邻单元格错误EPPlus

时间:2013-06-13 16:35:59

标签: c# epplus

我正在创建一个带有和公式的Excel工作表。

ExcelPackage pck = new ExcelPackage("D:\ExcelTemplate.xlsx");
var ws = pck.Workbook.Worksheets["Sheet1"];
ws.Cells["A5"].Formula = "=SUM(A3:A4)"; 

但是结果A5单元显示错误“公式忽略相邻单元格错误”(它还显示A5中的A3和A4之和)。 当我试图读取A5单元格时,我得到“对象引用未设置为对象的实例”错误。

string strA5 = ws.Cells["A5"].Value.ToString();

请帮忙解决此问题。 谢谢你。

2 个答案:

答案 0 :(得分:0)

据我所知,EPPlus没有计算引擎。这意味着单元格A5实际上不包含“= SUM(A3:A4)”的计算公式结果值。从你的代码判断,我怀疑A5不存在一个值,只有一个公式部分。 (是的,每个单元格有两个部分:公式部分和值部分)。所以像这样:

ws.Cells["A5"].Value.ToString();

将失败,并且“对象引用未设置为对象的实例”。错误。

答案 1 :(得分:0)

从EpPlus 4.0.1.1开始,有一个计算引擎和一个扩展方法Calculate(this ExcelRangeBase range)。在访问Value属性之前调用它:

ws.Cells["A5"].Calculate();

ws.Cells["A5"].Value将返回预期结果。