Jen*_*ITH 1 excel formula cell excel-formula apache-poi
我正在使用 Excel 文件作为源导出带有 Apache POI 的 Excel 文件,并且对于某些单元格(不是全部)仅引用其他单元格(例如='worksheet2'.B13)或使用引用的单元格(例如='worksheet2'.C13 + 'worksheet2'.D13)计算值,它们仅显示零 (0) 而不是正确的价值。
奇怪的是,当我单击公式并更改其中的某些内容时,例如键入一个空格并删除它然后键入 enter 时,会显示正确的值!
有关信息,这些单元格的类型是“数字/标准”。
我还在某处读到我应该在“Excel 选项”中检查“启用迭代计算”,但它对我不起作用。
预先感谢您的帮助
在@JohnBustos 和@Gagravarr 的帮助下,我使用以下方法解决了问题:
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
显然,Excel 缓存了先前计算的结果(在我的例子中它是源 Excel 文件中的零),我们需要触发重新计算来更新它们。
请参阅此链接:http : //poi.apache.org/spreadsheet/eval.html/部分:“公式的重新计算”