码迷,mamicode.com
首页 > 其他好文 > 详细

excel导出

时间:2020-06-07 10:50:15      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:目录   book   空间   文件   win   实现   并且   nbsp   获取   

常规导出的excel通常是用HSSFWorkbook

HSSFWorkbook:这个的导出重心就会成为两步:一步是在数据获取部分,如果使用分页查询来进行,会将查询出的数据汇总在内存当中,这样对服务器的内存消耗压力很大,同时在写excel的时候,HSSFWorkbook对内存要求更高,这样很容易造成excel的导出内存溢出
流式导出:
SXSSFWorkbook:是用来生成海量excel数据文件,主要塬理是借助临时存储空间生成excel,
SXSSFWorkbook专门处理大数据,对于大型excel的创建且不会内存溢出的,就只有SXSSFWorkbook了。
它的塬理很简单,用硬盘空间换内存(就像hashmap用空间换时间一样)。SXSSFWorkbook是streaming
版本的XSSFWorkbook,它只会保存最新的excelrows在内存里供查看,在此之前的excelrows都会被写入到
硬盘里(Windows电脑的话,是写入到C盘根目录下的temp文件夹)。被写入到硬盘里的rows是不可见的/不
可访问的。只有还保存在内存里的才可以被访问到。
注:HSSFWorkbook和XSSFWorkbook的ExcelSheet导出条数上限(<=2003版)是65535行、256列,(>=2007版)
是1048576行,16384列,如果数据量超过了此上限,那么可以使用SXSSFWorkbook来导出。实际上上万条数据,
甚至上千条数据就可以考虑使用SXSSFWorkbook了

抱歉,没有具体的代码实现,但是思路是对的,并且已经付诸行动,写的内存消耗已经下降,待后期添加

 

excel导出

标签:目录   book   空间   文件   win   实现   并且   nbsp   获取   

原文地址:https://www.cnblogs.com/xuanyuer/p/13058955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!