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

我使用Apache POI创buildExcel文件。 有两张不同的纸张。 工作表1是一些包含一些公式的模板。 在工作表2中,我想要得到第一页中的一个单元格的值。这是从表1中获取值的Excel公式:

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

但是当我在D7中join一些文字的时候

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

它不会接pipe表2的价值。如果我点击进入D7,并使用input,Sheet2将采取的价值,但我希望,阿帕奇poi做到这一点。

我该如何处理?

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

使用这个来评估所有的公式。

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

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

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

然后在stream中写入文件