使用Apache POI重新计算电子表格中的公式
-
27-10-2019 - |
题
我正在尝试使用POI XSSF评估一些Excel公式。 这些值不必保存,我可能必须计算许多公式,所以我试图在同一单元格中全部完成操作。
问题在于,即使我重新计算后,单元格值也似乎卡在了第一个输入的公式上 通用标签
这将输出40822.0 两次都是40822.0(相当于10/6/2011的excel),而不是重新评估新公式。
解决方案
如果多次使用FormulaEvaluator,则两次使用之间需要此行,否则每次使用相同的结果。 通用标签
其他提示
FormulaEvaluator缓存单元格计算出的值以加快处理速度。如果您在创建评估程序之后执行单元格更新,那么您需要告诉它!
有关更多信息,请参见 FormulaEvaluator 文档细节。对于您的情况,请尝试: 通用标签
您可以按照以下步骤完成工作。这是两个解决方案,您可以使用其中任何一个功能。它会评估整个工作簿,因此您使用的任何公式都会得到评估。希望这会有所帮助。
1)evaluator.evaluateAll(); 2)XSSFFormulaEvaluator.evaluateAllFormulaCells(wb);
不隶属于 StackOverflow