我试图使用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
)
逐段转换,甚至重用字节数组。