poi导出xlsx文件后,打开报“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的问题——【已解决】

 方案


在仔细检查代码后发现并不存在业务代码逻辑问题,而且同样的代码在另一台电脑上是可行的,只是两台电脑打开Excel的软件不同,一台是WPS(可行),一台是Microsoft Office专业增强版2019(不可行),说明是生成的Excel文件的版本格式差异。查询POI文档,发现POI提供HSSFWorkBook、XSSFWorkBook、SXSSFWorkBook这三个类来操作Excel:

HSSFWorkBook:适用于Excel97-03,文件扩展名为.xls;
XSSFWorkBook:适用于Excel07,文件扩展名为.xlsx;
SXSSFWorkBook:XSSFWorkBook升级;
再次检查自己的代码,发现自己使用的是HSSFWorkBook,所以导致文件不可读,改为XSSFWorkBook或SXSSFWorkBook即可

//之前
WorkBook workBook=new HSSFWorkBook();
...
//现在
WorkBook workBook=new SXSSFWorkBook();
...


版权声明:本文为qq_43143025原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。