在前面我们已经介绍了使用XSSFWorkbook导出数据到excel,但是当导出100w级别数据时经常会出现内存溢出的情况,为了解决这个问题,我们这里就介绍一下使用另外一种导出方法。
其实很简单,就是将之前创建IWorkbook对象时使用SXSSFWorkbook就可以了。代码如下:
这里要特别注意一下,这种方式简单来讲,就是用磁盘空间来换取内存,必定会消耗临时目录所在的磁盘空间,所以要特别注意一下,临时目录磁盘空间是否足够,以免生成过大的临时文件导致磁盘爆满。
C#获取应用临时目录
var tempPath = Path.GetTempPath();
window临时目录为:C:\Users\用户名\AppData\Local\Temp\
linux临时目录为:/tmp/