如何在HSSF apache poi(JAVA)上使用相对参考克隆功能

时间:2019-07-17 09:31:53

标签: java apache-poi

我正在尝试制作一个导出Excel,并且我需要在Excel中提供一些用于计数的公式,但是我有一个来自数据库的数据,它将不止一个。所以我想将该公式克隆到下一个数据。

进展顺利,但参考单元格无法更改为下一个单元格,就像我们尝试从excel复制单元格一样

cellOne[data].setCellFormula(celltwo[data].getCellFormula());

i want to copy count from data1 to data2

1 个答案:

答案 0 :(得分:0)

在我看来,最佳实践实际上不是使用公式字符串来更新公式引用,而是实际上使用了FormulaParser。优点是,只要FormulaParser知道,实际上所有可能的公式都可以更新。操作公式字符串容易导致问题。例如,像"SUM(H%d;I%d)"这样的公式模板将%d作为要替换的变量。但是百分号在某些公式中也可能是不变的。

apache poi有一个FormulaParser可以使用。在Apache POI update formula references when copying中,我只为XSSF展示过此内容。

由于这个问题是关于HSSF的,因此我将展示一种String copyFormula(Sheet sheet, String formula, int coldiff, int rowdiff)方法,该方法适用于SSHSSF的{​​{1}}。 / p>

XSSF