2

我有一个 Excel 模板,前 5 列留空(从 XML 填充)。第六列有一个下拉列表,根据从列表中选择的任何值,第 7 列中会出现一个值。这是通过对第 7 列使用 INDEX-MATCH 公式来完成的。

=INDEX(Sheet7!$B$1:$B$312,MATCH(F3,Sheet7!$A$1:$A$312,0))

任务是获取这个 Excel 模板,并使用 POI 填充前 5 列并生成一个新的 Excel 工作簿。(在现有工作表中不变)。

问题是当我生成新的 Excel 工作簿时,不会从模板中复制公式。保留我正在处理的任务的公式非常重要。我读到了

formulaEvaluator()

但我认为在这种情况下它不会起作用,因为我需要保留原样的公式。我无法在复制之前对其进行评估,因为此时第 6 列中不会有任何数据来评估公式并存储值。

如果在这方面有任何经验的人可以指导我一点,我将不胜感激。

4

1 回答 1

2

如果您有权访问Cell,只需调用:

String formula = cell.getCellFormula();

请注意,这仅在单元格是公式单元格时才有效。即:cell.getCellType() == Cell.CELL_TYPE_FORMULA。如果单元格不是公式单元格,您将得到APIIllegalStateException中描述的

于 2013-09-04T18:46:20.303 回答