评估公式并从单元格中删除公式
我想评估公式,并从保持其值的单元格中删除公式。 这怎么可以使用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)以获取更多信息。