Springmvc使用hutool导出excel中文文件名乱码问题,原因是tomcat本身没有设置UTF-8,或者字符集问题。
未知原因很多。这些都可以通知对文件名使用URLEncoder.encode 来解决。
//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//中文编码
String fileName = URLEncoder.encode("入住记录", "UTF-8");
response.setHeader("Content-Disposition","attachment;filename="+fileName+".xls");
ServletOutputStream out=response.getOutputStream();
ExcelWriter writer = ExcelUtil.getWriter();
// 合并单元格后的标题行,使用默认标题样式
writer.merge(9, "入住记录列表");
// 一次性写出内容,使用默认样式
writer.write(rows);
writer.flush(out);
writer.close();