Excel 单元格显示零而不是计算/引用值

Jen*_*ITH 1 excel formula cell excel-formula apache-poi

我正在使用 Excel 文件作为源导出带有 Apache POI 的 Excel 文件,并且对于某些单元格(不是全部)仅引用其他单元格(例如='worksheet2'.B13)或使用引用的单元格(例如='worksheet2'.C13 + 'worksheet2'.D13)计算值,它们仅显示零 (0) 而不是正确的价值。

奇怪的是,当我单击公式并更改其中的某些内容时,例如键入一个空格并删除它然后键入 enter 时,会显示正确的值!

有关信息,这些单元格的类型是“数字/标准”。

我还在某处读到我应该在“Excel 选项”中检查“启用迭代计算”,但它对我不起作用。

预先感谢您的帮助

Jen*_*ITH 5

在@JohnBus​​tos 和@Gagravarr 的帮助下,我使用以下方法解决了问题: wb.getCreationHelper().createFormulaEvaluator().evaluateAll();

显然,Excel 缓存了先前计算的结果(在我的例子中它是源 Excel 文件中的零),我们需要触发重新计算来更新它们。

请参阅此链接:http : //poi.apache.org/spreadsheet/eval.html/部分:“公式的重新计算”