我有一个Excel文件,该文件的某些单元格中包含公式,某些输入字段基于在公式单元格中计算的值。
使用apache poi setCellValue()
在各个单元格中设置值后,正在excel中设置值。这部分正在工作。然后我正在跑步
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
evaluator.evaluate(cell);
其中的单元格是我拥有公式的地方,并且它具有一些预先计算的值。
我的问题是,运行FormulaEvaluator
后,当我使用cell.getNumericCellValue()
来获取单元格值时,它是在获取我预先计算的或更旧的单元格值,而不是新值中的新计算值在单元格中设置。
答案 0 :(得分:1)
我认为您期望的不是该方法提供的其他行为:
使用FormulaEvaluator.evaluate(单元格)
这将评估给定的单元格,并返回新值,而不会影响该单元格
您可能想检查evaluateFormulaCell
或evaluateInCell
是否更适合您的要求。