easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

1.问题是什么?

之前导出均用HSSFWorkbook,后来发现超出65536条后系统就报错,而且超过6w条数据, 会分出新的sheet。
easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

经过网上查询资料得出,XSSFWorkbook可以导出

2.问题原因是什么?

由于默认使用的HSSF,不支持Excel2007以后的版本,所以超过6w条件,会生成新的sheet

easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

哪么我们怎么去指定使用XSSF呢?就需要去看下ExportParams这个类。
可以看到,默认就是使用:
this.type = ExcelType.HSSF;
easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

我们去看下ExcelType这个枚举类里面是什么?
easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

3.如何解决问题?

到这里我们就知道了,没有指定ExcelType的类型,默认是HSSF,哪么我们改成XSSF,就可以大批量导出了。
easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置
我们来看看效果吧!经测试,一次性可以导出17w,而且没有多余的sheet。
easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置

easyui 大批量导出Excel, 超过65535条报错, HSSFWorkbook与XSSFWorkbook区别 ExcelType配置