2011-08-12 46 views
1

我最近继承了一些使用XML和XSLT手动创建XLS文件的C#代码。我需要更新代码来编写XLSX文件而不是XLS文件(以便利用增加的列和行数)。有没有简单的方法来编程创建一个XLSX文档,然后注入原始的XML?XLS标记到XLSX转换

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

 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(); 
     } 

回答

0

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

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

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

0

您可以尝试Aspose.Cells for .NET创建XLSX文件。这是一个普通的.NET程序集。它不需要在您的应用程序正在使用的计算机上安装MS Office。您可以在任何Windows操作系统上将它与任何类型的.NET应用程序一起使用。你也可以用不同的方式work with dataimport data into XSLX file from various sources。请看看这是否有助于您的情况。

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