【问题标题】:Formula in excel not considering dynamically generated values in cellsexcel中的公式不考虑单元格中动态生成的值
【发布时间】:2013-07-17 15:38:02
【问题描述】:

我在某些单元格中有一个公式,该公式基于其他单元格中的值(比如 A1、B1),而这些值又是从数据库中填充的。我的公式是正确的,但它总是考虑 A1 中的空值, B1 ...即,在打开我的excel时,具有公式的单元格中的值始终为零..除非我在生成的excel中更改它。

我希望它考虑动态填充的单元格值,然后显示结果。请帮助!!!!!

【问题讨论】:

标签: excel apache-poi


【解决方案1】:

如果您的工作表有一些公式,比如计算 A3=sum(A1:A2),并且在 A1=5、A2 =4 时工作正常。现在如果将 A2 的值更改为 2 像

sh.getRow(0).getCell(0).setCellValue(2);  // set A1=2 

然后执行写操作,检查A3的值它仍然显示9。看起来错了,但实际上没有。 重点是Excel缓存了之前计算的结果,需要触发重新计算才能更新。

wb.getCreationHelper().createFormulaEvaluator().evaluateAll();

或与

 wb.setForceFormulaRecalculation(true);

然后执行写操作。这会给你正确的结果。详情请查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多