自从公司要求导出一个多sheet,而且每个sheet列长度都超过了256,easypoi多sheet导出只有一个方法可以用,就是下图这个方法。
而这个多sheet导出方法只有以下两种方式。默认HSSF
HSSF:Excel97-2003版本,扩展名为.xls。一个sheet最大行数65536,最大列数256。
XSSF:Excel2007版本开始,扩展名为.xlsx。一个sheet最大行数1048576,最大列数16384。
因为项目的数据列已经超过了最大列数256,所以我先用到了XSSF的方式导出多sheet,经过测试发现这种方式的导出会 随着数据量的增多导出速率也会变得非常慢,成倍增加的慢,那种快感就是上完几趟厕所都还没导出来。这种方式极大的占用了内存,如果放到线上会拖垮一个服务。
紧接着我就回到了使用HSSF的方式导出,唯一变通的办法就是将一对多的数据整合成一个字段,用String类型来存。通过这个改变导出速率