Java / Groovy中的电子表格解析器

时间:2009-01-28 20:22:52

标签: java parsing groovy spreadsheet

您好我想在Groovy中解析电子表格(xls / ods)。我一直在使用Ruby的Roo库,并且希望在Groovy中尝试相同的任务,因为Java已经安装在我使用的开发服务器上了,我想将服务器上的技术数量保持在一个简单的核心

我知道ods格式是压缩XML,因此可以解析,但我想使用电子表格概念处理文件,而不是XML概念。

处理xls文件的能力并不重要,但可以节省我将多个xls文件保存到ods(因为这是用于解析来自客户端的数据)。

谢谢

8 个答案:

答案 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即可。

优点:

  • xls和ods都会生成相同的CSV - 您只需要处理一种输入类型。
  • 您不必乱用(Open)Office的新版本。
  • 处理明文总是比其他晦涩的格式更有趣。

缺点:

  • 我能想到的一个 - 从xls和odf到csv找到一个可靠的转换器。不应该太难--OpenOffice有一个内置的。

答案 7 :(得分:0)

一些事情:

1)我同意使用CSV格式可以简化一些开发工作。 OpenCSV可以帮助处理CSV文件。还有其他很好的Java解析器。请记住,由于Groovy与Java的无与伦比的集成,Groovy可以使用任何可用于Java的东西。

2)我知道你说你想避免处理XML,但是Groovy makes XML processing非常简单。