我最近继承了一些使用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();
}
答案 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担任开发人员传播者。