【问题标题】:Combining multiple reports of the same jrxml format into a single file将多个相同jrxml格式的报告合并到一个文件中
【发布时间】:2017-06-20 17:32:44
【问题描述】:

目前我正在通过以下方式使用 Jasper Reports 生成 pdf 文件。

我创建了一个 jrxml 文件为“singlePagePdf.jrxml”

我已经声明了一个bean如下

<bean id="singlePagePdf"
      class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView"
      p:url="classpath:reports/singlePagePdf.jrxml"
      p:reportDataKey="datasource">
    <property name="headers">
        <props>
            <prop key="Content-Disposition">
                attachment; filename=singlePage.pdf
            </prop>
        </props>
    </property>
</bean>

因此,当调用相关 URL 时,我的控制器将按如下方式处理它。

 @RequestMapping(value = "/generate-single-pdf", method = RequestMethod.GET)
    @ResponseBody
    public ModelAndView generatePageForEmployeePdf(@RequestParam("empId") String employeeId) {
        List<EmployeeWork> employeeWorkDetails = employeeService.getEmployeeWorkDetails(employeeId);
        JRDataSource jrDataSource = new JRBeanCollectionDataSource(employeeWorkDetails);
        Map<String, Object> parameterMap = new HashMap<>();
        parameterMap.put("title", "Employee Work Deails");
        parameterMap.put("employee", employeeId);
        parameterMap.put("datasource", jrDataSource);
        return new ModelAndView("invoicePdf", parameterMap);
    }

目前它成功地为单个员工生成报告。现在我想为相同格式的员工列表创建报告(使用相同的 jrxml 文件)并将其输出到单个 pdf 文件(即具有多个员工工作详细记录的 pdf 文件)

有什么想法吗?

提前致谢

【问题讨论】:

  • 您可以使用另一个 jrxml 并将您当前的 jrxml 用作子报表。如果您将 1 个用户作为参数传递,它将仅打印,否则将打印所有用户详细信息。
  • 谢谢,@FahadAnjum。目前,我正在寻找一个工作示例,因为我在准备带有子报表参数的 jrxml 时遇到了一些困难。
  • 您可以通过多种方式进行操作,修改报告以支持与一个或多个员工的查询、子报告或像这样将碧玉打印添加到一起stackoverflow.com/q/36929868/5292302

标签: spring jasper-reports


【解决方案1】:

参考这篇文章: How to collate multiple jrxml jasper reports into a one single pdf output file

如上篇文章所述,此任务可以通过使用循环生成使用首选格式(singlePagePdf.jrxml)的单个报告,然后将它们添加到 jprintList 以获取最终输出来实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2010-10-18
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多