您好我正在寻找在 Groovy 中解析电子表格(xls/ods)。我一直在为 Ruby 使用 Roo 库,并希望在 Groovy 中尝试相同的任务,因为 Java 已经安装在我使用的开发服务器上,我希望将服务器上的技术数量保持在一个简单的核心少数.
我知道 ods 格式是压缩的 XML,因此可以这样解析,但我想使用电子表格概念而不是 XML 概念来处理文件。
处理 xls 文件的能力并不重要,但可以让我不必将多个 xls 文件保存到 ods(因为这是为了解析来自客户端的数据)。
谢谢
您好我正在寻找在 Groovy 中解析电子表格(xls/ods)。我一直在为 Ruby 使用 Roo 库,并希望在 Groovy 中尝试相同的任务,因为 Java 已经安装在我使用的开发服务器上,我希望将服务器上的技术数量保持在一个简单的核心少数.
我知道 ods 格式是压缩的 XML,因此可以这样解析,但我想使用电子表格概念而不是 XML 概念来处理文件。
处理 xls 文件的能力并不重要,但可以让我不必将多个 xls 文件保存到 ods(因为这是为了解析来自客户端的数据)。
谢谢
我建议使用Apache POI访问 .xls 文件。
我从未使用过 .ods 格式,因此没有关于该格式的信息。
还有JExcelAPI,它有一个漂亮、干净、简单的界面(大部分)。
虽然不能帮助您处理 ODS 文件。
看看“odftoolkit”怎么样?http://odftoolkit.openoffice.org/
Groovy in Action有一章名为“Windows 上的 Groovy”,讨论了使用Scriptom、Groovy/COM 桥(在幕后使用JACOB)来访问包括 Excel 在内的多个 Windows 应用程序。
正如 Amit 所指出的,对于 OpenOffice,您可以使用ODF Toolkit 。
我支持 jdmichal对Apache POI的投票。我已选择它作为我们选择处理 Excel 文件输入 (.XLS) 的库。如果您决定要支持该项目,该项目也正在研究 .XLSX 文件格式。根据您的规范,我认为您不想将内容转换为 CSV,而且您似乎已经建立了输入和输出路径。对于没有乐于处理 CSV 到 Excel 转换的任何人来说,它可能会有点冒险。我花了几个小时处理 Excel 将字符串数据转换为数字数据所产生的问题。您可以在POI 案例研究页面上查看有关此效果的其他证词. 除了这些问题,我根本不想亲自处理这些输入。我宁愿投入编程工作并简化未来的工作流程。
我也没有处理过 ODF,也没有计划在我当前的项目中支持它。您可能想查看OpenOffice.org ODF Toolkit Project。
祝你好运,玩得开心,-D。
我建议您看一下SimpleXlsBuilder 和 SimpleXlsSlurper,它们都基于 apache POI,并且可以以简洁的方式满足您读取和写入 Excel 97 电子表格的基本需求。
如果您的电子表格足够简单 - 没有图表和其他嵌入内容 - 您应该简单地将电子表格转换为CSV。
优点:
缺点:
几件事:
1) 我同意使用 CSV 格式可以简化一些开发工作。OpenCSV可以帮助处理 CSV 文件。还有其他很好的 Java CSV 解析器。请记住,由于 Groovy 与 Java 的无与伦比的集成,Groovy 可以使用任何可用于 Java 的东西。
2) 我知道您说过您想避免处理 XML,但是Groovy 使 XML 处理变得非常简单。