以编程方式生成excel文档

时间:2009-07-02 14:15:02

标签: java excel

有没有人使用基于Java的库来生成Excel文档?最好支持2003年?

8 个答案:

答案 0 :(得分:7)

我目前正在使用Apache POI,(http://poi.apache.org/index.html)这是非常全面的。 2003文件格式版本仍处于测试阶段,但似乎运行良好。我没有非常强大的功能,只是直接读取和写入Excel,但它看起来很可靠。

答案 1 :(得分:6)

每当我必须这样做时,我会问自己一个大的html表是否足够。

它的大部分时间。您可以简单地编写html标记并将其标记为.xls文件。 Excel将正确打开它

答案 2 :(得分:2)

如果您不需要花哨的标题,则只输出 CSV

答案 3 :(得分:2)

你也可以尝试使用SmartXLS for java, 它比poi和jexcelapi有更多的功能,它是一种商业产品。

http://www.smartxls.com/indexj.htm

答案 4 :(得分:1)

JExcelApi

我亲自用它来制作目前正在制作的报道。它是一个相当不错的库,有足够的文档,而且它是开源的。

它运作良好,但有一些你应该注意的陷阱。它们都不是交易破坏者,只是决定如何做一些事情。请务必阅读FAQ。它会解释它们并告诉你如何避免它们。

答案 5 :(得分:1)

格式化的HTML表格将正确导入,但最好使用Excel 2003 XML Toolbox中的Excel XML格式以满足更高级的需求(多个工作表,公式等)。

答案 6 :(得分:1)

我使用Jacob作为常规java和COM解决方案。然而,在我的阅读中,雅各布不能很好地处理多个呼叫(比如数百万个呼叫),我需要稍微补丁一下。 Jacob维护者不接受这些补丁。

无论如何雅各布是开源的(LGPL),在修补之后我的生产环境已经运行多年了。

使用COM连接到Excel后,使用标准Excel api处理文档。首先,您尝试使用VBS(VBScript Language Reference),然后在java中实现。

答案 7 :(得分:0)

您可以使用VBS生成excel文件,然后从java中调用脚本,如下所示:

String script = "your_VBS_Name.vbs"
String cmd = "D:\\YourPath" + script;
Runtime.getRuntime().exec(cmd);

创建脚本非常简单

打开记事本并按照下一个示例:

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs("D:\yourExcel.xls")

objExcel.Quit

然后将其另存为your_VBS_Name.vbs

多数民众赞成!