java导出excel文件名称乱码问题解决

ppylox
·10/26/2021·2 阅读

用下面这种方式,ie,chrome没问题,但是safari有问题

private static OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception {

    response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

    response.setCharacterEncoding("utf8");

    response.setHeader("Content-Disposition","attachment;filename="+fileName+".xlsx");

    response.addHeader("Access-Control-Expose-Headers","Content-disposition");

       return response.getOutputStream();


}



用下面这种方式在ie,chrome,safari浏览器下都是ok的,中文名称都能正常显示:

 private static OutputStream\ngetOutputStream(String fileName, HttpServletResponse response) throws Exception\n{

        fileName = URLEncoder.encode(fileName,\n"UTF-8");

       \nresponse.setContentType("application/x-msdownload");

       \nresponse.setCharacterEncoding("iso-8859-1");

       \nresponse.setHeader("Content-Disposition",\n"attachment;filename*=UTF-8''" + fileName+".xlsx");

       \nresponse.addHeader("Access-Control-Expose-Headers","Content-disposition");

        return response.getOutputStream();

 

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

    }

评论 (0)

暂无评论,来写第一条吧