Apache POI Formula Evaluator不计算包含公式的单元格

时间:2019-03-01 06:23:04

标签: excel apache-poi evaluation

我有一个Excel文件,该文件的某些单元格中包含公式,某些输入字段基于在公式单元格中计算的值。

使用apache poi setCellValue()在各个单元格中设置值后,正在excel中设置值。这部分正在工作。然后我正在跑步

FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
evaluator.evaluate(cell);

其中的单元格是我拥有公式的地方,并且它具有一些预先计算的值。

我的问题是,运行FormulaEvaluator后,当我使用cell.getNumericCellValue()来获取单元格值时,它是在获取我预先计算的或更旧的单元格值,而不是新值中的新计算值在单元格中设置。

1 个答案:

答案 0 :(得分:1)

我认为您期望的不是该方法提供的其他行为:

  

使用FormulaEvaluator.evaluate(单元格)

     

这将评估给定的单元格,并返回新值,而不会影响该单元格

您可能想检查evaluateFormulaCellevaluateInCell是否更适合您的要求。

另请参见http://poi.apache.org/components/spreadsheet/eval.html

上的文档