XLS标记到XLSX转换

时间:2011-08-12 16:41:27

标签: c# excel xlsx

我最近继承了一些使用XML和XSLT手动创建XLS文件的C#代码。我需要更新代码来编写XLSX文件而不是XLS文件(为了利用增加的列和行数)。是否有任何简单的方法以编程方式创建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(); 
        }

2 个答案:

答案 0 :(得分:0)

我认为您有代码可以创建可以使用Ms Excel打开的HTML代码。该文件结构比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

答案 1 :(得分:0)

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

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