我正在尝试制作一个导出Excel,并且我需要在Excel中提供一些用于计数的公式,但是我有一个来自数据库的数据,它将不止一个。所以我想将该公式克隆到下一个数据。
进展顺利,但参考单元格无法更改为下一个单元格,就像我们尝试从excel复制单元格一样
cellOne[data].setCellFormula(celltwo[data].getCellFormula());
答案 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)
方法,该方法适用于SS
和HSSF
的{{1}}。 / p>
XSSF