Java POI Excel匯出檔名中文亂碼
阿新 • • 發佈:2019-02-04
在用POI進行excel表匯出時,遇到中文檔名亂碼問題,用下面的方法得到了解決。
轉載自:https://my.oschina.net/chinamummy29/blog/525639
在匯出前對名稱根據瀏覽器做下處理
// 判斷瀏覽器型別,firefox瀏覽器做特殊處理,否則下載檔名亂碼
public static void compatibleFileName(HttpServletRequest request, HttpServletResponse response, String excelname) throws UnsupportedEncodingException {
String agent = request.getHeader("USER-AGENT").toLowerCase();
response.setContentType("application/vnd.ms-excel");
String fileName = excelname;
String codedFileName = java.net.URLEncoder.encode(fileName, "UTF-8");
if (agent.contains("firefox")) {
response.setCharacterEncoding("utf-8");
response.setHeader("content-disposition" , "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1") + ".xls");
} else {
response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls");
}
}