1. 程式人生 > >Java POI Excel匯出檔名中文亂碼

Java POI Excel匯出檔名中文亂碼

在用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"); } }