如何创建xsd来验证excel文件

时间:2014-10-09 09:35:41

标签: c# xml excel xsd

早上好, 我在c#语言的win应用程序中。 我必须读取一个excel文件(xls和xlsx),我会用xsd文件验证它,但我错了,因为我收到一个错误: 根级别的数据无效。第1行,第1位 如果我使用相同的xsd与corrispondent xml文件,这工作正确,所以应该是我的Excel文件或代码中的问题,以验证我的Excel文件。 我使用了这段代码:

     XmlReaderSettings booksSettings = new XmlReaderSettings();
     booksSettings.Schemas.Add("http://www.w3.org/2001/XMLSchema",XMLImportUsers.xsd");
     booksSettings.ValidationType = ValidationType.Schema;
     XmlReader books = XmlReader.Create(@"D:\test.xml",booksSettings);

      while (books.Read()) { }

我的xsd

<?xml version="1.0" encoding="utf-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="UserSettings">
   <xs:complexType>
     <xs:sequence>
    <xs:element name="ID_UTENTE" type="xs:decimal" minOccurs="1" maxOccurs="1"/>
    <xs:element name="ID_GRUPPO" type="xs:decimal" minOccurs="0" maxOccurs="1"/>

等等

你能帮助我并发布一个代码示例来从xsd中验证xls / xlsx吗? 提前谢谢

1 个答案:

答案 0 :(得分:0)

为什么不使用OpenXML SDK打开XLSX文件? - https://github.com/OfficeDev/Open-XML-SDK

对于XLS,您有两种选择:

  1. 将XLS转换为XLSX - http://b2xtranslator.sourceforge.net/
  2. 通过http://npoi.codeplex.com/打开XLS。