java - 从Excel工作表内容生成xml

时间:2011-01-11 22:25:58

标签: java xml excel

我有一个xsd和一个MS-Excel电子表格。 excel表包含xpath的所有元素/字段的Xpath表示以及xsd中指定的相应数据类型。

例如,如果xsd包含如下元素:

<xsd:complexType name="person">
  <xsd:all>
   <xsd:element name="name" type="xsd:string" minOccurs="0"/>
   <xsd:element name="age" type="xsd:string" minOccurs="0"/>
  </xsd:all>
</xsd:complexType>

excel表内容如下:

Column 2 (element/field name)        Column 3 (data type)
person.name                          String
person.age                           String

我需要检查Excel工作表的内容是否有效且完整。 因此,我想从MS-Excel电子表格生成xml文件,并验证它对现有的xsd进行验证。

要求详情如下:

  1. 阅读MS-Excel电子表格第二和第三列的内容。
  2. 忽略内容不包含点分隔符的行
  3. 生成xml
  4. 验证用户指定的xsd
  5. 如何在java程序中完成?

3 个答案:

答案 0 :(得分:1)

有几个Java库可以读取Excel文档,包括jxlJExcel。 (您也可以考虑使用CSV文件(逗号分隔值),它比Excel更简单,而不是专有。)

要解析XSD文件,请使用Java的built-in XML parser,如下所示:

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
Document doc = domBuilder.parse(new FileInputStream("file.xsd"));

答案 1 :(得分:0)

您可以使用XInclude将值插入到文档中。这里有一个例子:Default support for xinclude in Java 6?

您需要编写自己的实体解析器,然后可以读取Excel文件并在那里找到正确的值。我对jxl没有任何经验,但JExcel是一个用于处理Excel文件的可靠库。

答案 2 :(得分:0)

如果您安装了Informatica DT,https://community.informatica.com/solutions/b2bdt_automation_template_excel_generator怎么样?您可以通过java生成脚本,并使用java!

在命令行上执行它