iReport与extjs4.0.2a和Java的集成;弹簧&x2B;冬眠
我正在开发extjs 4.0.2a和Java。我正在使用一些java框架,比如Hibernate/JPA和Spring。现在我想使用Jasper报表设计工具,即iReport以不同格式(.xls、.pdf)等生成报表。我熟悉iReport。我使用jdbc连接生成了.jrxml和.jasper格式的iReport文件 现在,我想将生成的报告与JAVA集成,以便以.pdf或.xls格式获取报告。当我点击pdf图标时,我可以下载以.pdf格式生成的报告iReport与extjs4.0.2a和Java的集成;弹簧&x2B;冬眠,java,hibernate,spring,jasper-reports,extjs4,Java,Hibernate,Spring,Jasper Reports,Extjs4,我正在开发extjs 4.0.2a和Java。我正在使用一些java框架,比如Hibernate/JPA和Spring。现在我想使用Jasper报表设计工具,即iReport以不同格式(.xls、.pdf)等生成报表。我熟悉iReport。我使用jdbc连接生成了.jrxml和.jasper格式的iReport文件 现在,我想将生成的报告与JAVA集成,以便以.pdf或.xls格式获取报告。当我点击pdf图标时,我可以下载以.pdf格式生成的报告 我使用的是ExtJS4.0.2a mvc架构。任
我使用的是ExtJS4.0.2a mvc架构。任何知道如何进行的人都可以帮助我我解决这个问题的方法很简单。当您使用ExtJs时,我认为您的控制器是用JavaScript编写的
http://localhost:8080/myApplication/report?key=312312313
如果要下载到xsl,可以尝试以下方法:
private void exportToExcel(HttpServletResponse resp, JasperPrint jasperPrint) throws IOException {
String reportfilename = tagreport("file") + "repor.xls";
JExcelApiExporter exporterXLS = new JExcelApiExporter();
exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT,jasperPrint);
exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, resp.getOutputStream());
resp.setHeader("Content-Disposition", "inline;filename="+ reportfilename);
resp.setContentType("application/vnd.ms-excel");
try {
exporterXLS.exportReport();
} catch (JRException e) {
e.printStackTrace();
}
}
我对这个问题的解决办法很简单。当您使用ExtJs时,我认为您的控制器是用JavaScript编写的
http://localhost:8080/myApplication/report?key=312312313
如果要下载到xsl,可以尝试以下方法:
private void exportToExcel(HttpServletResponse resp, JasperPrint jasperPrint) throws IOException {
String reportfilename = tagreport("file") + "repor.xls";
JExcelApiExporter exporterXLS = new JExcelApiExporter();
exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT,jasperPrint);
exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, resp.getOutputStream());
resp.setHeader("Content-Disposition", "inline;filename="+ reportfilename);
resp.setContentType("application/vnd.ms-excel");
try {
exporterXLS.exportReport();
} catch (JRException e) {
e.printStackTrace();
}
}
可能重复:&&另一个链接:可能重复:&&另一个链接:感谢Henrique,我能够使用jasper report生成xls报告。现在,当我单击“导出”按钮时,我可以生成excel报告文件。但我无法下载它。我正在使用tomcat控制台上的Ext.Ajax.request({url:'task/GetTaskReportPDF.action'})在标头中发出服务器请求以生成报告我正在获取内容处置附件内容长度0内容类型应用程序/vnd.ms-excel日期Fri,2012年1月20日10:00:49 GMT服务器Apache Coyote/1.1所以我做错了什么,不允许出现下载弹出。谢谢你,亨里克,这很有效。现在,我想为我的pdf报告genrated相同的下载窗口。我以JRPdfExporter exporterPDF=newjrpdfexporter()的形式进行了更改;exporterPDF.setParameter(jreporterParameter.JASPER_PRINT,jasperprint);setParameter(jreporterParameter.OUTPUT_STREAM,response.getOutputStream());response.setHeader(“内容处置”、“内联;文件名=“+reportfileName”);response.setContentType(“application/pdf”);exporterPDF.exportReport();但是它没有给我下载窗口来保存或打开生成的pdf报告对不起,你使用stackoverflow有点错误。你现在应该选择你的答案并提出一个新问题。现在是另一个问题了。。henrique我发布了新的帖子,你可以通过点击链接进入我的问题。如果您有任何与之相关的解决方案,那么我可以解决它。感谢Henrique,我能够使用jasper report生成我的xls报告。现在,当我单击“导出”按钮时,我可以生成excel报告文件。但我无法下载它。我正在使用tomcat控制台上的Ext.Ajax.request({url:'task/GetTaskReportPDF.action'})在标头中发出服务器请求以生成报告我正在获取内容处置附件内容长度0内容类型应用程序/vnd.ms-excel日期Fri,2012年1月20日10:00:49 GMT服务器Apache Coyote/1.1所以我做错了什么,不允许出现下载弹出。谢谢你,亨里克,这很有效。现在,我想为我的pdf报告genrated相同的下载窗口。我以JRPdfExporter exporterPDF=newjrpdfexporter()的形式进行了更改;exporterPDF.setParameter(jreporterParameter.JASPER_PRINT,jasperprint);setParameter(jreporterParameter.OUTPUT_STREAM,response.getOutputStream());response.setHeader(“内容处置”、“内联;文件名=“+reportfileName”);response.setContentType(“application/pdf”);exporterPDF.exportReport();但是它没有给我下载窗口来保存或打开生成的pdf报告对不起,你使用stackoverflow有点错误。你现在应该选择你的答案并提出一个新问题。现在是另一个问题了。。henrique我发布了新的帖子,你可以通过点击链接进入我的问题。如果你有任何相关的解决方案,那么我可以解决它。