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

时间:2014-10-27 16:46:47

标签: excel excel-formula apache-poi cell formula

我使用Excel文件作为源导出带有Apache POI的Excel文件,而某些单元格(并非所有)只是引用其他单元格(如='worksheet2'.B13)或使用引用的单元格计算值(如{{1} }),它们只显示零(0)而不是正确的值。

奇怪的是,当我点击公式并更改其中的某些内容时,输入空格并删除它然后输入enter,显示正确的值!

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

我还在某处读过“Excel选项”中的“启用迭代计算”,但它对我不起作用。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:4)

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

显然,Excel会缓存以前计算的结果(在我的情况下,它是源Excel文件中的零),我们需要触发重新计算来更新它们。

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