1. 用JavaPOI导出Excel时,我们需要考虑到Excel版本及数据量的问题。针对不同的Excel版本,要采用不同的工具类,如果使用错了,会出现错误信息。
JavaPOI导出Excel有三种形式,分别是:
HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls(局限就是导出的行数至多为65535行,超出65536条后系统就会报错)。
XSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx,(当数据量超出65536条后,程序会会抛出 java.lang.OutOfMemoryError;内存溢出错误)。
SXSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx(优化了XSSFWorkbook的内存溢出问题,提供了一种基于XSSF的低内存占用的SXSSF方式,不会造成内存溢出;
也有缺陷,在一个时间点上,只可以访问一定数量的数据,不再支持Sheet.clone(),不再支持公式的求值,在使用Excel模板下载数据时将不能动态改变表头)。