使用OpenXLS将公式写入单元格

时间:2009-07-06 15:22:28

标签: java excel openxls

我正在使用Java和OpenXLS编写Excel电子表格。我想为一个单元格设置一个公式,但我还没有弄清楚如何做到这一点。请问有人帮帮我吗? :)

(无法使用“openxls”标记此内容,因为我是新用户...)

4 个答案:

答案 0 :(得分:2)

我不了解OpenXLS,但是对Andy Khan的JExcel很容易。我建议尝试一下。我认为它远远优于POI;我打赌它也比OpenXLS好。

答案 1 :(得分:2)

OpenXLS支持非常好的公式。看看这个例子。 我在名为“testSheet”的工作表的A列和B列中添加了一个值。在同一张表的C列中,我输入了SUM(A + B)的结果。不要忘记初始化列C否则你将有一个CellNotFoundException

WorkBookHandle workbook = new WorkBookHandle();
workbook.createWorkSheet("testSheet");
WorkSheetHandle sheet = workbook.getWorkSheet("testSheet");
for (int i=1 ;i<=10; i++)
 {
    sheet.add(10*i, "A"+i);
    sheet.add(15*i, "B"+i);
    CellHandle cx = sheet.add(0,"C"+i);
    cx.setFormula("=SUM(A"+i+":B"+i+")");
 }

我希望这个例子可以帮助其他人。

答案 2 :(得分:0)

最终,事实证明OpenXLS不支持公式单元格。它们包含在付费版本中,但是......

答案 3 :(得分:0)

您可以直接在工作表中的单元格上设置公式String:

CellHandle cell = ws.add( "=SUM(A1:A3)", "A5" );

这会在单元格A5中添加SUM(A1:A3)公式。任何带有前缀为'='的字符串值的Cell都被视为公式。

现在正在github上进行更新和维护(搜索openxls)。