简单解决方法:
/*** 报表命名兼容浏览器转换* @param request request* @param fileName 报表名* @return*/public static String exportFileName(HttpServletRequest request, String fileName) {final String userAgent = request.getHeader("USER-AGENT");String exportfilename = fileName;try {if (mons.lang3.StringUtils.contains(userAgent, "MSIE")) {//IE浏览器exportfilename = URLEncoder.encode(exportfilename, "UTF8");} else if (mons.lang3.StringUtils.contains(userAgent, "Mozilla")) {//google,火狐浏览器exportfilename = new String(exportfilename.getBytes(), "ISO8859-1");} else {exportfilename = URLEncoder.encode(exportfilename, "UTF8");//其他浏览器}} catch (UnsupportedEncodingException e) {logger.error("EXCEL报表命名兼容浏览器转换失败");}return exportfilename;}
无效后解决方法:
String fileName = URLEncoder.encode("名字"+".xlsx","utf-8");response.addHeader("Content-Disposition", "attachment;filename="+fileName);response.setContentType("application/octet-stream");
如果觉得《导出excel中文文件名乱码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!