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