为什么我的POI导出excel不弹出下载呢

问题描述

@RequestMapping(value=ActionUrlManage.ExportG1030Action,method=RequestMethod.POST)publicvoidexportExcelG1030Controller(HttpServletRequestrequest,HttpServletResponseresponse,ModelMapmodelMap)throwsException{List<String>list=newArrayList<String>();list.add("1");//testlist.add("2");HSSFWorkbookwb=gi.getUserExcel(list);response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition","attachment;filename=student.xls");OutputStreamouputStream=response.getOutputStream();//newFileOutputStream(newFile(path+"a.xls"));wb.write(ouputStream);ouputStream.flush();ouputStream.close();}

点按钮不弹出下载对话框是为毛呢!谢谢!

解决方案

解决方案二:
换个游览器试一试呢!你试一试这个FileInputStreaminput=newFileInputStream(file);OutputStreamoutput=response.getOutputStream();//有的游览器对下面的可能不支持,就可以重新设置一个头response.setHeader("content-type","application/x-gzip");//encode方法只对部分IE有效,想要对火狐等游览器有效,可以将filename转成ISO8859-1的编码之后在打给游览器response.setHeader("content-disposition","attachment;filename="+URLEncoder.encode(realFilename,"UTF-8"));byte[]b=newbyte[1024];intlen=0;while((len=input.read(b))!=-1){output.write(b,0,len);}input.close();output.close();

解决方案三:
前后台都用get请求方式
解决方案四:
我想知道你是用什么方式提交的,你是不是用ajax提交的,ajax是没法弹出的,要改成wondow.location
解决方案五:
这里有个例子你可以参照看看;我感觉,下载首先要有下载源吧,没有下载源如何能够下载;所以你点击下载调用相应servlet时,要生成一个下载源,然后复制进输出的文件Stringfilename=request.getParameter("filename");response.setContentType("application/vnd.ms-excel");response.setHeader("Content-Disposition","inline;filename="+filename);ByteArrayOutputStreamout=newByteArrayOutputStream();InputStreamin=null;ServletOutputStreamoutexcel=null;HSSFWorkbookwb=newHSSFWorkbook();Completecomp=newComplete();DutyTabledutytable=newDutyTable();List<DutyTable>DTlist=newArrayList<DutyTable>();dutytable.setDate("9月16日");dutytable.setRemarks("");dutytable.setSign("");dutytable.setWatcher("往哪");dutytable.setWeekDay("星期一");DTlist.add(dutytable);intrownum=0;wb=comp.creat(rownum,wb,DTlist);wb.write(out);out.flush();byte[]aa=out.toByteArray();in=newByteArrayInputStream(aa,0,aa.length);outexcel=response.getOutputStream();outexcel.flush();intaRead=0;while((aRead=in.read())!=-1&in!=null){outexcel.write(aRead);}in.close();out.close();outexcel.close();

解决方案六:
哥们,界面发个看看。前台用什么做的?jsp,ftl,ext?
解决方案七:
http://blog.csdn.net/zhaoxiaoyueyue/article/details/39343853完整的例子,懒得码字,自己去看看吧
解决方案八:
引用5楼u011106669的回复:

哥们,界面发个看看。前台用什么做的?jsp,ftl,ext?

用的是ext,这样可以么tbar:[{text:'导出',iconCls:'del',handler:function(){varForm=Ext.create('Ext.form.Panel',{url:'./export'+record.raw.name+'.action',onSubmit:Ext.emptyFn,//非AJAX提交submit:function(){this.getForm().getEl().dom.submit();}});Form.getForm().submit();}},

解决方案九:
你这肯定是不行的啊,你用数据的输出流生成一个Panel,panel无法自适这个数据流的,如果你想要下载的话,换一种方式接受下来,比如说放到一个iframe里面,用这个iframe接受url生成下载流//如果页面中没有用于下载iframe,增加iframe到页面中if($('#downloadcsv').length<=0)$('body').append("<iframeid="downloadcsv"style="display:none"></iframe>");$('#downloadcsv').attr('src',url);

解决方案十:
引用7楼cqf91的回复:

Quote: 引用5楼u011106669的回复:
哥们,界面发个看看。前台用什么做的?jsp,ftl,ext?

用的是ext,这样可以么tbar:[{text:'导出',iconCls:'del',handler:function(){varForm=Ext.create('Ext.form.Panel',{url:'./export'+record.raw.name+'.action',onSubmit:Ext.emptyFn,//非AJAX提交submit:function(){this.getForm().getEl().dom.submit();}});Form.getForm().submit();}},

哥们,我用ext做了一个,前台面板是这么设计的,供你参考下varfpFileUpload=newExt.FormPanel({id:'fpFileUpload',frame:true,fileUpload:true,//url:'Default.aspx',items:[{xtype:'textfield',allowBlank:false,fieldLabel:'选择文件',inputType:'file',name:'excelFile'//后台封装名为excelFile属性}],buttonAlign:'center',buttons:[{text:'上传',handler:function(){if(fpFileUpload.form.isValid()){fpFileUpload.form.submit({url:'importFromExcel4Wage.action',//这里的名称需要修改,具体和陈巍讨论。method:'post',waitTitle:'请等待',waitMsg:'文件上传中...',success:function(form,action){Ext.Msg.alert("系统提示",action.result.msg);winFielUpload.hide();//grid.store.load();},failure:function(form,action){Ext.Msg.alert("系统提示",action.result.msg);winFielUpload.hide();}});}else{Ext.Msg.alert("系统提示","请选择文件后再上传!");}}},{text:'取消',handler:function(){winFielUpload.hide();}}]});
解决方案十一:
应该是浏览器的问题

时间: 2024-09-12 03:08:06

为什么我的POI导出excel不弹出下载呢的相关文章

easyui导出excel无法弹出下载框的快速解决方法_jquery

之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID').val(), dataType: 'json', success: function (jsonstr) { //top.art.dialog.tips('导出成功!'); } }); 没办法弹出下载框. 直接浏览器地址栏输入相关页面地址并打开可以弹出下载框下载,考虑可能是iframe的缘故.

java poi 导出excel-java使用poi实现excel导出之后如何弹出保存提示框

问题描述 java使用poi实现excel导出之后如何弹出保存提示框 无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句response.setContentType(""application/vnd.ms-excel; charset=utf-8"");response.setHeader(""Content-Disp

ie11的excel导出-java poi excel导出时,在ie11上面弹出下载框时文件名后缀为xxx.xls[1]

问题描述 java poi excel导出时,在ie11上面弹出下载框时文件名后缀为xxx.xls[1] 测试在ie8或ie9上面是正确的,但是在ie11上面就会出现这个[1].

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

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

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

java poi导出excel,用excel 2013打开样式不能正常显示

问题描述 java poi导出excel,用excel 2013打开样式不能正常显示 我用的是poi3.02.用2010打开没问题,用2013打开只是合并单元格的地方,边框样式不能显示. 解决方案 java poi生成excel并修改excel样式POI 导出EXCEL样式实例POI Excel导出样式设置 解决方案二: poi设置的用07版的应该就可以 解决方案三: poi 针对03和07不同的版本会给出不同的类去处理的 你看看你的代码是 用 03还是 07 生成的 excel

poi java excel-java poi 导出excel 把一样的数据动态合并单元格

问题描述 java poi 导出excel 把一样的数据动态合并单元格 急求,有一个list数据 导出成 这种格式 公司和年份两列是要有动态合并功能 并且年份合并的时候不能跨公司 有没有大神帮帮忙... HSSFWorkbook workbook = new HSSFWorkbook(); String[] columnNames = new String[]{"编号","公司", "年份","性质", "名称&qu

hyperlink-关于 POI 导出EXCEL 中 HyperLink 设置中文地址乱码

问题描述 关于 POI 导出EXCEL 中 HyperLink 设置中文地址乱码 请问大家一个问题,我在使用POI 3.6 的时候, 在为单元格添加HyperLink的时候,遇到添加 中文连接乱码问题,例如我的链接地址是:/file/这是PDF.PDF 在EXCEL中就会变为/file/??PDF.PDF 请问如何解决? 解决方案 http://www.iteye.com/problems/70541

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