首页 文章

Apache POI下载后初始计算公式

提问于
浏览
0

我使用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 回答

  • 2

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

    使用它来评估所有公式 .

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

    使用它来评估特定细胞的配方

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

    然后在流中写入文件

相关问题