POI在导出数据量过大时会导致内存溢出。
HSSFWorkbook | XSSFWorkbook | SXSSFWorkbook |
---|---|---|
是操作Excel2003以前(包括2003)的版本,扩展名是.xls;一张表最大支持65536行数据,256列,也就是说一个sheet页,最多导出6w多条数据。 | 是操作Excel2007的版本,扩展名是.xlsx;它的一张表最大支持1048576行,16384列 | 是从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API,是加强版的XSSFWorkbook |
所以大数据量导出时,请选择POI对应的SXSSFWorkbook工具类。当然,就算使用这个工具类,也会大量消耗内存。所以,不是特别建议广泛使用。