0
目前我使用Jasper Reports按以下方式生成pdf文件。将多个相同jrxml格式的报告合并到一个文件中
我创建了一个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时有点困难。 – B378
您可以通过多种方式实现,修改报告以支持包含一个或多个雇员的查询,子报表或只需将jasper打印添加到一起,如下所示https://stackoverflow.com/q/36929868/5292302 –