将具有多个工作表的Excel工作簿映射到XSD

时间:2012-08-22 10:17:38

标签: java xml excel xsd automation

我有一张包含多张工作表的Excel工作簿。每张纸都有一张表,不同的表格有不同的格式。 我需要将整个工作簿读入我的Java程序。最方便的方法是将整个数据导出到单个XML中并解析它(使用simpleXML或其他一些兼容的解析器)。 我找不到将架构应用于工作簿的多个工作表的方法,而不是单个工作表。可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

在便利性方面,有许多因素影响或定义它。例如,它取决于这是一个持续的事情,还是需要集成到一个过程中等等。

在按照建议推荐解决方案之前,我会试着说服你看看Apache的POI(Microsoft API的Java API),特别是Excel API。它为您的Java程序提供了一个Java API,使您可以非常轻松地阅读所需内容。这将是一站式商店。

另一种方法可能是使用Jdbc到Odbc并通过JDBC API(JDBC到ODBC提供程序)访问Excel。如果您的部署模型允许这样做(例如,如果您在没有Excel文件的ODBC提供程序的平台上运行),我无法从您的问题中详细说明,但在Windows上肯定是一个选项;此外,互联网上的许多地方详细说明了这种方法。

如果您坚持使用XML导出方式,QTAssistant(我与之关联)有一个全面的解决方案(XML Builder),用于从任何受支持的关系数据源生成XML。它提供GUI和命令行。在您的情况下,它需要XLS,一个描述您想要获取的XML的XSD和一个用于创建所需XML的映射文件(基本上是另一个XML文件)。通常,此功能主要用于将测试数据转换为XML以进行Web服务调用,因此它适用于用户,工具和XML生成活动之间的某种交互模式。如果您对更多细节感兴趣,请与我们联系。