如何在extj 4.0.2a下载Jasper Report生成的xls文件

时间:2012-01-20 10:42:51

标签: java hibernate extjs

Hello stackoverflow论坛会员。我需要你的一些支持来生成excel报告,然后一键下载。

我正在使用extjs 4.0.2a和Java。在java框架中如Hibernate / JPA和Spring。我正在使用Jasper Report以excel和pdf生成报告。我能够使用它生成报告。但问题是我无法在浏览器中下载它。此外,我的浏览器没有提示我保存或取消生成的报告。

我正在向服务器发出请求,要求使用:

生成Excel报告
Ext.Ajax.request({url:'task/GetTaskReportXLS.action',   
   success:function(response,option){console.log("success");},
failure:function(response,option){console.log("failure");},
scope:this});

在我的服务器端,我正在生成带有响应参数的excel报告

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","inline;filename=\"gantt.xls\"");
response.addHeader("Content-Disposition", "attachment");

当我单击导出按钮时,进程执行,并且作为我的firebug控制台上的响应,我得到标题:

Response Headers
Content-Disposition attachment
Content-Length  0
Content-Type    application/vnd.ms-excel
Date    Fri, 20 Jan 2012 10:00:49 GMT
Server  Apache-Coyote/1.1

但我的下载提示仍未显示保存我的Excel报告。请帮我指出我在这里做错了什么。

我正在使用带有Java的extjs 4.0.2a mvc架构。

1 个答案:

答案 0 :(得分:0)

由于您的成功功能,您无法获取文件。您只写日志而不做任何响应。 尝试     window.open( '任务/ GetTaskReportXLS.action')