Apache POI下载后初始计算公式

时间:2015-07-23 13:11:10

标签: java excel apache-poi

我使用Apache POI创建Excel文件。有两种不同的纸张。 表1是具有一些配方的模板。在工作表2中,我想获取工作表1中一个单元格的值。这是从公式1获取值的Excel公式:

=IF(Sheet1!D7="";"";Sheet1!D7)

但是当我在D7中添加了一些带

的文本时
  cell = worksheet1.getRow(6).getCell(3);
  cell.setCellValue("SomeText");

它不会接管Sheet 2的值。如果我点击D7并使用enter,Sheet2将获取值,但我想,apache poi执行此操作。

我该如何处理?

1 个答案:

答案 0 :(得分:2)

您必须在最终输出之前评估公式。

使用它来评估所有公式。

FormulaEvaluator formulaEvaluator = workbook.getCreationHelper().createFormulaEvaluator();
formulaEvaluator.evaluateAll();

使用它来评估特定细胞的公式

FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
evaluator.evaluateFormulaCell(cell);

然后在流中写入文件