最近项目有做数据导出,数据量达到了几十万,然后发现当数据量大于20w以上时,就会出现:引发类型为“System.OutOfMemoryException”的异常。内存溢出的问题!
因为导出到Excel有最多65535行数据的限制;我这边已经采用了分成多个sheet
异常是出现在写入的时候
执行到这里就内存溢出了,有谁遇到过类似的问题吗???
内存流溢出了就是用文件流呗,总不至于硬盘也会满吧
您是说这种吗??? 直接写入Excel文件的形式,倒是可以的
之前的回答
我是导出 ^^
没有必要用MemoryStream,换
单纯将MemoryStream改为FileStream,后面的workbook.Write(fs)不变
换成FileStream之后,数据量小是可以的,但是如果数据量还是很大,比如在137万的时候还是会出现内存溢出。
65535行 这个是 xls的限制 (excel 07)
用 xlsx 这个限制会多很多(excel 2010)