有没有人使用基于Java的库来生成Excel文档?最好支持2003年?
答案 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有更多的功能,它是一种商业产品。
答案 4 :(得分:1)
我亲自用它来制作目前正在制作的报道。它是一个相当不错的库,有足够的文档,而且它是开源的。
它运作良好,但有一些你应该注意的陷阱。它们都不是交易破坏者,只是决定如何做一些事情。请务必阅读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
多数民众赞成!