Easypoi导出报文件扩展名与文件格式或文件扩展名无效问题
问题:在项目中有个导出的需求,考虑到使用原生的poi来操作比较繁琐,就用了现成的轮子。本来本地测试的时候是好好的,不过被测试多点了几下后导出来的文件直接打开就报错了,有的干脆就直接为0K.
所以抱着疑问去看了下源码。
public class ExcelExportUtil
//导出的时候格式很重要 .xls对应 ExcelType.HSSF .xlsx对应 ExcelType.XSSF 默认ExportParams.type= ExcelType.HSSF
public static Workbook exportExcel(ExportParams entity, Class<?> pojoClass, Collection<?> dataSet) { Workbook workbook = getWorkbook(entity.getType(),dataSet.size()); new ExcelExportService().createSheet(workbook, entity, pojoClass, dataSet); return workbook; }
private static Workbook getWorkbook(ExcelType type, int size) { if (ExcelType.HSSF.equals(type)) { return new HSSFWorkbook(); } else if (size < 100000) { return new XSSFWorkbook(); } else { return new SXSSFWorkbook(); } }
结论:
导出的时候格式很重要 .xls对应 ExcelType.HSSF .xlsx对应 ExcelType.XSSF 默认ExportParams.type= ExcelType.HSSF
我就是因为没有设置excel导出的格式 就把导出文件的后缀写成了.xlsx,所以出现了导出文件打不开的情况,自己的拙见。