java poi导出excel response.setHeader设置导出文件名抓包不合法及处理导出文件名为action方法名
Posted zhuyingzheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java poi导出excel response.setHeader设置导出文件名抓包不合法及处理导出文件名为action方法名相关的知识,希望对你有一定的参考价值。
问题出现1:
spring MVC 框架下使用poi导出excel,设置导出文件名:response.setHeader("Content-Disposition", "attachment;filename=" +sourceId+"_"+dateString+".xls");
该方法进行抓包测试时,显示BUG url不合法。
解决办法:对 "attachment;filename=" +sourceId+"_"+dateString+".xls" 进行String fileNmae = URLEncoder.encode("attachment;filename="+sourceId+"_"+dateString+".xls",StandardCharsets.UTF_8.displayName()); 再response.setHeader("Content-Disposition", fileNmae);
但是出现新的问题2:poi导出excel时,导出文件名为action 方法名。
解决办法:使用 new String(byte[],"utf-8");编码
String fileName = "attachment;filename="+sourceId+"_"+dateString+".xls";
response.setHeader("Content-Disposition", new String(fileName.getBytes(), "utf-8"));
最终解决:抓包测试通过。
以上是关于java poi导出excel response.setHeader设置导出文件名抓包不合法及处理导出文件名为action方法名的主要内容,如果未能解决你的问题,请参考以下文章
JAVA POI XSSFWorkbook导出扩展名为xlsx的Excel,附带weblogic 项目导出Excel文件错误的解决方案
JAVA POI 导出 EXCEL怎么设置单元格格式为 文字