用response.setHeader导出excel遇到的问题

问题描述

代码如下:MessageResourcesmessage=getResources(request,"FileNameResources");StringtemplateFolder=message.getMessage("templateFolder");StringtempFileName=message.getMessage("YearGradeExportFileName");StringfilePath=request.getSession().getServletContext().getRealPath(templateFolder+sep+tempFileName);FileinFile=newFile(filePath);if(!inFile.exists()){logger.error("filetemplateisnotexist!");returnnull;}FileOutputStreamfileOut=null;StringoutName=StringUtils.getCode()+"."+FileUtils.getFileType(filePath);StringoutFolder=message.getMessage("tempFolder");StringoutPath=request.getSession().getServletContext().getRealPath(outFolder+sep+outName);POIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream(filePath));HSSFWorkbookwb=newHSSFWorkbook(fs);HSSFSheetsheet=wb.getSheetAt(0);//dosearchintrowNo=2;List<YearGradeExportBean>list=iygs.getYearGradeExportList(ygf.getSchStoreName(),ygf.getSchYear(),ygf.getSchBreakRuleTimes(),ygf.getSchLostMark(),ygf.getSchArea(),ygf.getSchFlat());for(inti=0;i<list.size();i++){HSSFRowrow=sheet.getRow(rowNo);YearGradeExportBeanbean=list.get(i);this.writeRow(row,bean,i);rowNo=rowNo+1;}//Writetheoutputtoafile//FileOutputStreamfileOut=newFileOutputStream(outPath);fileOut=newFileOutputStream(outPath);wb.write(fileOut);fileOut.close();//setResponseHead(response,tempFileName);if(tempFileName.endsWith(".doc")||tempFileName.endsWith(".rtf")){response.setContentType("application/msword");response.setHeader("Content-disposition","inline;filename="+URLEncoder.encode(tempFileName,"UTF-8"));}elseif(tempFileName.endsWith(".pdf")){response.setContentType("application/pdf");response.setHeader("Content-disposition","inline;filename="+URLEncoder.encode(tempFileName,"UTF-8"));}elseif(tempFileName.endsWith(".xls")){response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition","inline;filename="+URLEncoder.encode(tempFileName,"UTF-8"));}else{response.setContentType("application/x-msdownload");response.setHeader("Content-disposition","attachment;filename="+URLEncoder.encode(tempFileName,"UTF-8"));}//outputFile(response,outPath);FileoutFile=newFile(outPath);FileInputStreamin=org.apache.commons.io.FileUtils.openInputStream(outFile);ServletOutputStreamsout=response.getOutputStream();intfilesize=org.apache.commons.io.IOUtils.copy(in,sout);sout.close();in.close();outFile.delete();returnnull;问题是:有左右两个框架L/R,在L中点击一个菜单,R中显示一个List页面,List页面有一个导出按钮。点击后便执行上面的代码,现在已经可以导出了,但是在弹出的文件下载对话框中不管你选择保存还是打开还是取消,List页面的状态总是interactive,不是complete。这个是什么问题?是我漏写了什么语句还是什么原因?请高手指点一下吧

解决方案

解决方案二:
该回复于2010-05-18 16:20:17被版主删除
解决方案三:
引用1楼ivy999的回复:

友情支持!up……

+1

时间: 2024-10-26 08:41:41

用response.setHeader导出excel遇到的问题的相关文章

通过Response输出方式导出Excel

        目前见过这么几种类型的导出Excel表:         1,NPIO方式,高仿Java.功能比较强大,但是比较重.         2, 前辈封装的....            3,本文要说的..            这周五又要导个Excel表,,上面估计是觉得平台封装的导出比较重吧,要我用response方式导出excel表,一个字,没用过.还好上过百度大学~            /// <summary> /// 获取表的标头 /// </summary>

spring MVC 导出excel

原文地址:http://liuzidong.iteye.com/blog/1071823 参考资料  1 用spring MVC 生成Excel和PDF http://blog.csdn.net/linlzk/archive/2008/11/27/3389925.aspx 2 Spring MVC export data to Excel file via AbstractExcelView http://www.mkyong.com/spring-mvc/spring-mvc-export-d

JavaWeb导出Excel文件并弹出下载框_java

一.引言 在Java Web开发中经常涉及到报表,最近做的项目中需要实现将数据库中的数据显示为表格,并且实现导出为Excel文件的功能. 二.相关jar包 使用POI可以很好的解决Excel的导入和导出的问题,POI下载地址: poi-3.6-20091214.jar 三.关键代码 首先导入上述jar包. 在生成excel时一般数据源形式为一个List,下面把生成Excel格式的代码贴出来: /** * 以下为生成Excel操作 */ // 1.创建一个workbook,对应一个Excel文件

Java中导入、导出Excel

原文:Java中导入.导出Excel 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导入.导出Excel 二.使用Jakarta POI导入.

利用jsp导出excel相关的问题

问题描述 1.利用jsp导出为Excel文档,后缀是.xls.2.再把该excel文档进行导入操作,发现不能导入.用excel打开后,按另存为,发现保存类型默认是网页(*.htm;*.html),把保存类型改为Excel工作薄(*.xls)就可以导入.3 如何在jsp中设置才能使默认保存类型为Excel工作薄(*.xls)希望各位兄弟帮忙给些意见. 问题补充:enet_java 写道 解决方案 这个样子肯定是不行的,因为你的文件流格式不是excel格式,还是jsp的格式,你只是修改了后缀名吧,建

struts2.0-为什么java导出excel表格没有弹出下载框

问题描述 为什么java导出excel表格没有弹出下载框 /** 导出存支列表 */ public void exportDepositList(){ HttpServletResponse response = Struts2Utils.getResponse(); ServletOutputStream sos = null; WritableWorkbook wb = null; List depositList = null; String str = getSql(); deposit

linux 下用poi3.2 导出excel的问题

问题描述 在windows下一切正常,可以正常导出excel文件.但在linux下ie不弹出下载框.生成excel文件后调用的方法如下:/***导出Excel文件**@throwsIOException*/publicvoidexportXLS(HttpServletResponseresponse)throwsIOException{response.reset();response.setContentType("application/vnd.ms-excel");respons

java导出Excel弹出下载框

问题描述 action中:publicvoidgetDownloadFile(){if(this.obj!=null){Integerdepid=Integer.parseInt(this.depId);Filefile=this.employeeService.getInputStream(depid);//request=(HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);//response=(HttpSer

JSP导出Excel文件的方法_JSP编程

本文实例讲述了JSP导出Excel文件的方法.分享给大家供大家参考,具体如下: <%@page import="jxl.Workbook,com.ecc.emp.core.*,com.ecc.emp.data.*,com.ecc.emp.jdbc.ConnectionManager,jxl.format.VerticalAlignment,java.sql.*,jxl.write.*,jxl.format.UnderlineStyle,javax.sql.DataSource"%