使用Openxml将巨大的xml导出到excel



我试图使用openxml-sdk 2.0将一个大的转换后的xml数据写入excel。这给了我一个很大的例外。我认为Open-xml不支持将批量数据写入excel。。我能写50000行。这是我的代码::

 public void AddPartXml(OpenXmlPart part, string xml)
     { 
        using (Stream stream = part.GetStream())
        {
          byte[] buffer = (new UTF8Encoding()).GetBytes(xml);
          stream.Write(buffer, 0,buffer.Length);
          stream.Dispose();
        } 
    } 

我们是否有可能将数据写入exce,而不是一次性写入。

我们有没有可能把数据写入块中的exce而不是一次性写作。

不可以,但是您可以将OpenXML库与XmlTextWriter结合使用来解决此类问题。

看看我的免费C#"导出到Excel"库中的源代码,它可以做到这一点。

http://www.mikesknowledgebase.com/pages/CSharp/ExportToExcel.htm

当我试图建立整个Excel.xlsx文件的"图像"时,我也遇到了同样的问题,我想在内存中写入。最终,您的应用程序将耗尽内存并崩溃。

如果字符串很长,可以使用

public override int GetBytes(
string s,
int charIndex,
int charCount,
byte[] bytes,
int byteIndex
)

逐段转换,甚至重用字节数组。

相关内容

  • 没有找到相关文章

最新更新