`
showmystage
  • 浏览: 55032 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

用poi 第二次导出文件遇到的问题

阅读更多

用poi做报表统计,输出excel文件
用以下三句就可以向客户端弹出一个打开或者是保存文件的对话框

java 代码
  1. response.setContentType("Application/msexcel");   
  2. response.setHeader("Content-disposition","attachment; filename=filename.xls");   
  3. wb.write(response.getOutputStream());  
注: wb是   HSSFWorkbook wb = new HSSFWorkbook();
在用户第一次保存文件之后,第二次再保存的时候,会出现: “未指明的错误”
分析之后得出以下结论:
当调用 response.setContentType   和 response.setHeader 之后,response已经变成了二进制流,不是以前的text/html 了,所以第二次会报错, 此错误在win 2000之下出现,win XP 和 win2003不会出错,其它系统没有测试。
后来想到解决方案:
既然导出的时候将本页面里的document的类型改变了,就给它找了一个替罪羊, 在页面里加入了一个不可见的iframe
  1. "downFrame" src="" style="width: 0px;height: 0px;display: none;">  
然后在点击按钮提交的时候,将下载交给iframe
  1. document.downFrame.location="checkExport.do?flag=export......."  

 

    这样,就改变的是iframe的 response类型,本页面就没有影响了。

  • 大小: 621.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics