private void doExport(LinkedHashMap<String, String> header, List<Map<String, Object>> exportList) throws IOException {
HttpServletResponse response = HttpContextUtils.getHttpServletResponse();
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
String fileName = processFileName(getExcelName(), request,response);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("content-disposition", "attachment;filename= "+fileName+".xlsx");
response.setContentType("application/msexcel");
response.setHeader("X-Frame-Options", "SAMEORIGIN");
ExcelPoiUtil.createExcel(getExcelName(), header, exportList , response.getOutputStream());
}
/**
* 设置导出文件名称
* @param fileName
* @param request
* @param response
* @return
*/
private static String processFileName(String fileName, HttpServletRequest request, HttpServletResponse response){
String userAgent = request.getHeader("USER-AGENT");
try {
if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
fileName = URLEncoder.encode(fileName,"UTF8");
}else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
fileName = new String(fileName.getBytes(), "ISO8859-1");
}else{
fileName = URLEncoder.encode(fileName,"UTF8");//其他浏览器
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return fileName;
}
Excel导出设置中文名称
最新推荐文章于 2023-07-31 09:54:12 发布