POI导出Excel文件中文乱码

使用POI组件生产Excel文件时中文乱码,总结后可能错误原因如下:

后台导出Excel文件格式混乱

POI组件可生成.xls和.xlsx两种格式的Excel文件,设置文件格式时应注意与导出的格式相匹配。如果文件格式设置出错,则会出现以下错误:
在这里插入图片描述
.xls文件格式设置

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");  
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xls");

.xlsx文件格式设置

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");  
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xlsx");

前端设置格式与后台不匹配

前端接收到Excel数据流后,也可对该数据流的浏览器下载格式进行设置,设置格式也应与Excel数据流格式一致,否则会出现Excel文件中文乱码错误。
在这里插入图片描述
.xls和.xlsx的区别,根据自己需求导出相应格式

xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,而 xlsx 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。
xls是excel2003及以前版本生成的文件格式,而xlsx是excel2007及以后版本生成的文件格式。

原创文章 12 获赞 51 访问量 5836

猜你喜欢

转载自blog.csdn.net/weixin_44582716/article/details/105339405
今日推荐