簡體   English   中英

java-從Excel工作表內容生成xml

[英]java - xml generation from excel sheet content

我有一個xsd和一個MS-Excel電子表格。 excel工作表包含類似Xpath的XSD的所有元素/字段的表示形式以及在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

如何在Java程序中完成此操作?

有幾個Java庫可以讀取Excel文檔,包括jxlJExcel (您也可以考慮使用CSV文件(逗號分隔值),該文件比Excel更簡單且非專有。)

要解析XSD文件,請使用Java的內置XML解析器 ,如下所示:

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

如果已安裝Informatica DT,那么https://community.informatica.com/solutions/b2bdt_automation_template_excel_generator怎么樣? 您可以通過Java生成腳本,然后使用Java在命令行上執行腳本!

您可以使用XInclude將值插入文檔中。 這里有一個示例: Java 6中對xinclude的默認支持?

您將需要編寫自己的實體解析器,然后可以讀取該Excel文件並在其中找到正確的值。 我對jxl沒有任何經驗,但是JExcel是用於處理Excel文件的可靠庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM