解决excel大数据量导出问题

时间:2021-03-29 08:12:37

项目中遇到用户要求导出excel功能,数据量在25w左右,原先项目中已经封装了excel导出功能,用了下发现有错误并且该功能没有源码全部是class文件封装在jar里,打开jar包反编译了半天才定位到问题所在,本想修改又怕别的模块会有问题还是决定使用poi自己重新写一套,所以我觉得公司这种自己搭建的框架有利有弊吧,切入正题......

poi3.7可以使用HSSFWorkbook导出xls格式,经查数据量只能在65536,抛弃-_-!

poi3.7可以使用XSSFWorkbook导出xlsx格式,数据量可达到100w,经过跟踪代码发现构建数据起始特别快但当数据量到达5w左右时突然变的很慢,最后报出OutOfMemoryError:java heap space jvm内存溢出错误,调整jvm内存参数无效,无奈-_-!

网上搜索得知poi3.8使用SXSSFWorkbook大大优化了大数量的导出,经更换jar包后成功导出!