[英]How to convert XML file to xls using DocumentFormat.OpenXml in asp.net?
如何在asp.net中使用DocumentFormat.OpenXml将XML文件转换为xls?
您要问的是使用OpenXMLSdk的一种教程,我认为这有点不合理;-)。
无论如何,此示例从头开始创建一个xlsx文件。 不要忘记下载Xml SDK生产力工具。
考虑一下这个xml,但即使在更大和更复杂的情况下也可以使用:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="TestTable" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="TestTable">
<xs:complexType>
<xs:sequence>
<xs:element name="pk" type="xs:long" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="Surname" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<TestTable>
<pk>1</pk>
<Name>Name1</Name>
<Surname>Surname1</Surname>
</TestTable>
<TestTable>
<pk>2</pk>
<Name>Name2</Name>
<Surname>Surname2</Surname>
</TestTable>
<TestTable>
<pk>3</pk>
<Name>Name3</Name>
<Surname>Surname3</Surname>
</TestTable>
<TestTable>
<pk>4</pk>
<Name>Name4</Name>
<Surname>Surname4</Surname>
</TestTable>
<TestTable>
<pk>5</pk>
<Name>Name5</Name>
<Surname>Surname5</Surname>
</TestTable>
<TestTable>
<pk>6</pk>
<Name>Name6</Name>
<Surname>Surname6</Surname>
</TestTable>
</NewDataSet>
现在,您只需要调用此:
DataTable dt = new DataTable("TestTable");
dt.ReadXml("c:\\test.xml");
ExcelNameSpace.ExcelFile xlsxFile = new ExcelNameSpace.ExcelFile(dt);
xlsxFile.CreatePackage("c:\\myFile.xlsx");
类ExcelNameSpace.ExcelFile中90%的代码会在几秒钟内被生产力工具反映出来。 您应该能够逐步调试并了解您的需求。 它大约有1000行,所以我不能在这里发布。 ( http://www.devnmore.com/share/ExcelFromScratch.txt )
希望能帮助到你。
弗朗切斯科
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.