java - iReport 与 extjs4.0.2a 和 Java + Spring + Hibernate 的集成

标签 java hibernate spring jasper-reports extjs4

我正在与 Java 一起开发 extjs 4.0.2a。我正在使用一些带有 java 的框架,例如 Hibernate/JPA 和 Spring。现在我想使用 Jasper Report 设计工具,即 iReport 以不同格式(.xls、.pdf)等生成我的报告。我熟悉 iReport。我使用 jdbc 连接生成了 .jrxml 和 .jasper 格式的 iReport 文件。

现在我想将我生成的报告与 JAVA 集成,这样我就可以获得 .pdf 或 .xls 格式的报告。当我点击 pdf 图标时,我可以下载以 .pdf 格式生成的报告。

我正在使用 Ext js 4.0.2a mvc 架构。任何知道如何进行的人都可以帮助我

最佳答案

我对这个问题的解决方案很简单。当您使用 ExtJs 时,我认为您的 Controller 是用 JavaScript 编写的。

  1. 请求 java 服务器以 pdf、xls 等格式创建您的报告
  2. 使用 key 将报告保存在您的 session 中(可以是以英里为单位的时间)
  3. 将 key 返回到 View 并打开一个新窗口向服务器请求您的报告

新窗口应该包含这样的 URL 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();
    }
}

关于java - iReport 与 extjs4.0.2a 和 Java + Spring + Hibernate 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922679/

相关文章:

java - 在循环中创建对象

Java Hibernate 无法连接 MySQL 数据库

java - 如何在 Hibernate @Entity 类中使​​用 Enum 成员?

java - Quarkus 延迟初始化

java - 我正在使用 SpringBoot 和 Jquery 以及 Ajax 编写一个 CRUD 应用程序。我收到以下异常

spring - 如何避免 Spring Boot 应用程序中的冗余流量?

java - Spring Boot 和 JPA+Postgres : Lob mapped to Text but integer is persisted

java - 如何保存 fragment 娱乐

java - WSServletContextListener 和 WSServlet 的职责是什么

Spring AOP 与 AspectJ 启动性能/内存要求