评估公式并从单元格中删除公式

我想评估公式,并从保持其值的单元格中删除公式。 这怎么可以使用Apache POI完成?

以下是我评估所有公式的代码。

FormulaEvaluator evaluator = template.getCreationHelper().createFormulaEvaluator(); int sheetCount = template.getNumberOfSheets(); for(int sheetIndex = 0; sheetIndex < sheetCount; sheetIndex ++) { sheet = dfaTemplate.getSheetAt(sheetIndex); for (Row r : sheet) { for (Cell c : r) { if (c.getCellType() == Cell.CELL_TYPE_FORMULA) { evaluator.evaluateFormulaCell(c); } } } } 

您应该使用evaluator.evaluateInCell(cell)而不是evaluator.evaluateFormulaCell(c) 。 如果单元格包含公式, evaluateInCell将计算公式,并将公式结果放回到单元格中,而不是旧公式。

请参阅evaluateator.evaluateInCell(cell)以获取更多信息。