public static WritableWorkbook getWritableWorkbook(HttpServletRequest request,HttpServletResponse response,String fileName) throws IOException{
String agent = (String)request.getHeader("USER-AGENT");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
fileName = fileName + DateUtil.dateToString(new Date(), "yyyy-MM-dd");
if(agent != null && (agent.contains("Firefox") )){
// FF
fileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";
}else {
// IE
String os = System.getProperty("os.name");
fileName = URLEncoder.encode(fileName, "UTF-8");
if(os.indexOf("Linux") != -1){
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}else if(os.indexOf("Windows") != -1){
fileName = new String(fileName.getBytes("GB2312"), "ISO8859-1");
}else if(os.indexOf("Mac")!= -1) {
fileName = new String(fileName.getBytes("GB2312"), "ISO8859-1");
}
}
response.setHeader("Content-Disposition", "attachment;filename="+ fileName + ".xls");
WritableWorkbook wb = Workbook.createWorkbook(response.getOutputStream());
return wb;
}
导出excel时浏览器的校验
最新推荐文章于 2022-05-23 13:43:30 发布