-2

我尝试使用 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();
        } 
    } 

有没有可能我们可以将数据写入块中而不是一次性写入。

4

2 回答 2

1

有没有可能我们可以将数据写入块中而不是一次性写入。

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

看看我的免费 C#“导出到 Excel”库中的源代码。

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

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

于 2014-01-28T14:18:18.937 回答
0

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

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

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

于 2012-07-26T18:23:15.727 回答