当前位置: 代码迷 >> java >> 下载后的Apache POI公式的初始计算
  详细解决方案

下载后的Apache POI公式的初始计算

热度:95   发布时间:2023-08-02 10:53:22.0

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

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

但是当我在D7中输入一些文字时

  cell = worksheet1.getRow(6).getCell(3);
  cell.setCellValue("SomeText");

它不会接管工作表2的值。如果我单击D7并使用enter,Sheet2将接管该值,但是我想让该Apache Poi执行此操作。

我该如何处理?

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

使用此为了评估所有公式。

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

使用它来评估特定单元格的公式

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

然后在流中写入文件

  相关解决方案