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

时间:2016-05-17 12:34:59

标签: java excel apache-poi

我想评估公式并从单元格中删除保留其值的公式。如何使用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);
                    }
                }
            }
        }

1 个答案:

答案 0 :(得分:1)

您应该使用evaluator.evaluateInCell(cell)代替evaluator.evaluateFormulaCell(c)。如果单元格包含公式, evaluateInCell 将评估公式,并将公式结果放回单元格中,代替旧公式。

有关详细信息,请参阅evaluator.evaluateInCell(cell)