2009-01-28 48 views
4

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

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

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

感谢

回答

8

我建议Apache POI访问.xls文件。

我从来不需要使用.ods格式,所以没有关于那个的信息。

3

还有JExcelAPI,它有一个很好,干净,简单的界面(大部分)。

虽然不能帮助您使用ODS文件。

+0

我在一个Grails项目中使用了JExcelAPI,它工作得很好。我强烈推荐它。 – anschoewe 2009-02-20 02:44:20

0

如果您的电子表格很简单 - 无图表和其他嵌入内容 - 您应该简单地将电子表格转换为CSV

优点:

  • 都xls和消耗臭氧层物质会产生同样的CSV - 你必须处理只是一个输入类型。
  • 您不必混淆(Open)Office的新版本。
  • 处理明文总是比其他难懂的格式更有趣。

缺点:

  • 一,我能想到的 - 从发现xls和ODF到CSV可靠的转换器。不要太难 - OpenOffice有一个内置的。
+0

在完美的情况下,我希望尽可能使用几个步骤自动完成数据提取。因此,我们希望将电子表格作为原始数据 – 2009-01-28 21:52:38

0

有两件事情:

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

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

+0

确实如此,但是一如既往,我想甚至更简单:)我基本上在寻找Roo克隆,如在开放电子表格中,遍历行,迭代单元格,提取数据。 否则它意味着打开和解压缩文件,然后解析XML文件+了解XML模式 – 2009-01-28 21:30:16

1

我第二个jdmichal的投票Apache POI。我选择它作为我们选择处理Excel文件输入(.XLS)的库。如果您决定要支持该项目,该项目也将处理.XLSX文件格式。根据您的规范,我不认为您想要将事物转换为CSV,并且您似乎已经建立了输入和输出路径。对于没有处理CSV到Excel转换的喜悦的任何人,它可能会有点冒险。我花了数小时处理由Excel将字符串数据转换为数字数据所产生的问题。你可以在POI Case Studies page上看到这个效果的其他证词。除了这些问题之外,我根本不想亲自去处理这些投入。我宁愿投资编程工作,简化未来的工作流程。

我也没有处理ODF,也没有计划在我目前的项目中支持它。您可能想要查看OpenOffice.org ODF Toolkit Project

祝你好运,玩得开心, - D.

2

Groovy in Action有一个名为 “Groovy中的Windows”,讨论使用Scriptom,一个Groovy/COM桥(使用幕后JACOB),访问多个Windows应用程序包括Excel章。如Amit指出的,对于OpenOffice,您可以使用ODF Toolkit