response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("UTF-8");
//在后端的接口中开放这个这个响应头,前端的response就可以获取到了
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");//开放权限,让前端获取到
//1、下面 浏览器下载正常,但是postman下载文件名称乱码
//response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xlsx");
//2、下面这是用postman测名称正常,换到浏览器会多了filename_=utf-8等字样。。)
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")+ ".xlsx"
+ ";filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8")+ ".xlsx");
//下面都是提示
//提示:前端获取不到后端定义的Header的解决办法
//后端添加的Header,浏览器可以看到这个Header,但前端的response获取不到自定义的Content-Disposition,只能获取到content-type
response.addHeader("Content-Disposition","attachment;filename=" + java.net.URLEncoder.encode(filename, "UTF-8"));

文章来源地址https://www.toymoban.com/news/detail-462917.html
文章来源:https://www.toymoban.com/news/detail-462917.html
到了这里,关于EasyExcel导出时文件名乱码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!