我尝试使用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();
}
}
我们是否有可能将数据写入大块而不是一次性写入。
答案 0 :(得分:1)
我们是否有可能将数据写入块中 而不是一次性写作。
不,但您可以将OpenXML库与XmlTextWriter结合使用来解决这类问题。
查看我的免费C#中的源代码"导出到Excel"这样做的图书馆。
http://www.mikesknowledgebase.com/pages/CSharp/ExportToExcel.htm
在尝试构建"图像时遇到了同样的问题"我希望在内存中编写的整个Excel .xlsx文件。最终,您的应用程序将耗尽内存并崩溃。
答案 1 :(得分:0)
如果字符串很长,您可以使用
public override int GetBytes(
string s,
int charIndex,
int charCount,
byte[] bytes,
int byteIndex
)
逐个转换,甚至重用字节数组。