2011-08-12 49 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擔任開發者傳道人。