XLS标记到XLSX转换

我最近inheritance了一些使用XML和XSLT手动创buildXLS文件的C#代码。 我需要更新代码来编写XLSX文件而不是XLS文件(为了充分利用增加的列和行数)。 有没有简单的方法来创build一个XLSX文档编程,然后注入与原始的XML?

这里是转换和保存文件的代码。

XmlReader reader = XmlReader.Create(new StringReader(sourceXML)); XmlDataDocument xdd = new XmlDataDocument(); xdd.Load(reader); XslCompiledTransform xct = new XslCompiledTransform(); XmlReader xsltdatareader; xsltdatareader = XmlReader.Create(new StringReader(xsldata)); xct.Load(xsltdatareader); try { StreamWriter sw = new StreamWriter(resultXlsFilename); xct.Transform(xdd, null, sw); sw.Flush(); sw.Close(); } 

我想你有创buildHTML代码的代码,可以用Ms Excel打开。 该文件结构比XLSX(Office Open XML)更简单。

在XLSX中编写用于转换XLS的代码非常困难。 无论如何,XLSX文件实际上是一个重命名的zip文件,其中包含一些XML。 即使你可以手动编写你的XLSX,也可以尝试使用s api:

打开XML SDK: http : //www.microsoft.com/download/en/details.aspx? displaylang=en& id=5124

您可以尝试Aspose.Cells for .NET来创buildXLSX文件。 这是一个普通的.NET程序集。 它不需要在您的应用程序正在使用的计算机上安装MS Office。 您可以将它与任何Windows操作系统上的任何types的.NET应用程序一起使用。 您也可以使用不同方式处理数据 ,并将数据从各种来源导入到XSLX文件中 。 请看看这是否有助于你的情况。

披露:我在Aspose担任开发者传道人。