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

标签 excel excel-formula apache-poi cell formula

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

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

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

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

预先感谢您的帮助

最佳答案

在@JohnBus​​tos 和@Gagravarr 的帮助下,我使用以下方法解决了问题:wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
显然,Excel 缓存了以前计算的结果(在我的例子中,它是源 Excel 文件中的零),我们需要触发 重新计算 更新它们。

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

关于Excel 单元格显示零而不是计算/引用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26592561/

相关文章:

java - 导入 Excel 时出错 : Could not initialize class org. apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller

使用 Apache POI 的 Excel 下拉列表

C# Excel 自动化导致 Excel 内存泄漏

c# - 将 excel 应用程序转换为 C# 应用程序

html - 如何使用vba填写html自动完成字段?

excel - Excel 中概率分布的熵

excel - 如何将多列excel表格转换为附有标题的单列

vba - Excel VBA - 选择要复制的工作簿并粘贴到下一个空白行的现有工作簿中

excel - excel可以清理自由文本用户输入吗?

java - 使用 spring Batch 和 apache poi 从多个源写入数据