解决EasyPoi导出Excel文件名为中文名时出现乱码的问题

    技术2022-07-12  55

    EasyPoi导出Excel可见我的此篇博客: Easy Poi导入导出Excel

    代码:

    String fileName = "人才事项统计报表.xls"; response.setHeader("Content-Disposition", "attachment;filename*= UTF-8''"+ URLEncoder.encode(fileName,"UTF-8"));

    测试结果:

    前端代码:

    有些人加了这个导出文件名还是乱码,是因为前端用的导出方式不对

    axios.get('/gss/exports/orders?pageNo=1&pageSize=10', { responseType: 'blob' }).then(res=>{ if(res.status == 200){ let blob = res.data; const fileReader = new FileReader(); // FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件的内容 fileReader.readAsDataURL(blob); // 开始读取指定的Blob中的内容。一旦完成,result属性中将包含一个data: URL格式的Base64字符串以表示所读取文件的内容 fileReader.onload = (event) => { // 处理load事件。该事件在读取操作完成时触发 // 新建个下载的a标签,完成后移除。 let a = document.createElement('a'); //如果使用兼容性高得xlsx,后端代码需要设置类型为XSSF,params.setType(ExcelType.XSSF); let _fileName = '人才事项统计报表.xlsx'; a.download = _fileName; a.href = event.target.result; document.body.appendChild(a); a.click(); document.body.removeChild(a); } } })
    Processed: 0.009, SQL: 10