當前位置:編程學習大全網 - 網絡軟體 - POI導出excel表時文件名變成亂碼怎麽辦

POI導出excel表時文件名變成亂碼怎麽辦

在用POI進行excel表導出時,遇到中文文件名亂碼問題,用下面的方法得到了解決。

轉載自:ment" style="">// 判斷瀏覽器類型,firefox瀏覽器做特殊處理,否則下載文件名亂碼</span>

<span class="hljs-keyword" style="">public</span> <span class="hljs-keyword" style="">static</span> <span class="hljs-built_in" style="">void</span> compatibleFileName(HttpServletRequest request, HttpServletResponse response, <span class="hljs-built_in" style="">String</span> excelname) throws UnsupportedEncodingException {

<span class="hljs-built_in" style="">String</span> agent = request.getHeader(<span class="hljs-string" style="">"USER-AGENT"</span>).toLowerCase();

response.setContentType(<span class="hljs-string" style="">"application/vnd.ms-excel"</span>);

<span class="hljs-built_in" style="">String</span> fileName = excelname;

<span class="hljs-built_in" style="">String</span> codedFileName = java.net.URLEncoder.encode(fileName, <span class="hljs-string" style="">"UTF-8"</span>);

<span class="hljs-keyword" style="">if</span> (agent.contains(<span class="hljs-string" style="">"firefox"</span>)) {

response.setCharacterEncoding(<span class="hljs-string" style="">"utf-8"</span>);

response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + <span class="hljs-keyword" style="">new</span> <span class="hljs-built_in" style="">String</span>(fileName.getBytes(), <span class="hljs-string" style="">"ISO8859-1"</span>) + <span class="hljs-string" style="">".xls"</span>);

} <span class="hljs-keyword" style="">else</span> {

response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + codedFileName + <span class="hljs-string" style="">".xls"</span>);

}

}</code>

  • 上一篇:保護哪個屬相?
  • 下一篇:求 eminem not afraid 的歌詞翻譯
  • copyright 2024編程學習大全網