servlet下载Excel出现问题在于:IE提示无法下载

转载:
servlet输出文件下载,IE提示无法下载的问题
[url]
http://hi.baidu.com/%CD%F5%B7%EF%C4%FE/blog/item/28290d13d79ba82bdc540115.html
[/url]
参考资料
Servlet,JSP 动态生成excel文件并提示下载的简单方法
http://www.blogjava.net/netnova/archive/2009/07/28/146776.html


解决办法:
一 对应的serlvet输出中增加如下的代码。
输入文件头的部分自行定义。主要是后面设置IE识别的。
Java代码
//输出文件头  

response.addHeader("Content-Disposition", "attachment; filename=\"测试.xls\"");  
response.setContentType("application/msexcel");   
//response.setContentType("application/vnd.ms-excel");


//确保IE识别本次为下载文件 

response.setHeader("Content-Transfer-Encoding","binary");   
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");   
response.setHeader("Pragma", "public");
  

二 若输出文件名为中文,则要对文件名进行以下字符转换。
    String fileName = new String(“文件名为中文".getBytes("gb2312"), "iso8859-1");
   转换成iso8859-1 字符集才可正确导出。否则会出此错。

你可能感兴趣的:(jsp,servlet,cache,Excel,IE)