1

我正在创建一个带有求和公式的 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();

请帮助解决这个问题。谢谢提前。

4

2 回答 2

0

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

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

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

于 2014-12-23T05:54:14.383 回答
0

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

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

将因您的“对象引用未设置为对象的实例”而失败。错误。

于 2013-06-14T03:26:15.027 回答