1

我最近继承了一些使用 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(); 
        }
4

2 回答 2

0

我认为您的代码可以创建可以用 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

于 2011-08-12T16:50:16.287 回答
0

You can try Aspose.Cells for .NET to create XLSX files. This is a normal .NET assembly. It doesn't require MS Office to be installed on the machine your application is working on. You can use it with any type of .NET application on any Windows OS. You can also work with data in different ways and import data into XSLX file from various sources. Please see if this helps in your scenario.

Disclosure: I work as developer evangelist at Aspose.

于 2011-08-15T09:33:34.603 回答