使用OpenXLS将公式写入单元格

我正在使用Java和OpenXLS来写出一个Excel电子表格。 我想为单元格设置一个公式,但我没有办法知道如何去做。 有人可以帮我吗? 🙂

(不能用“openxls”来标记,因为我是一个新用户…)

我不知道OpenXLS,但与Andy Khan的JExcel很容易做到。 我build议尝试一下。 我认为这远远好于POI。 我敢打赌,它比OpenXLS更好。

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+")"); } 

我希望这个例子能够帮助别人。

最终,事实certificate,OpenXLS不支持公式单元格。 他们被包括在付费版本,虽然…

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

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

这将在单元格A5中添加SUM(A1:A3)公式。 任何具有以“=”开头的string值的单元格都被视为公式。

github上正在进行更新和维护(searchopenxls)。