jasperreports如何将多个jrmxl文件导出到单个工作表 [英] jasperreports how to export multiple jrmxl files to a single worksheet

查看:61
本文介绍了jasperreports如何将多个jrmxl文件导出到单个工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个jrxml文件,我想用3个不同的数据源填充.然后,我想导出到XLS或XLXS文件,并将3个报表串联在一起.

I have one jrxml file that I would like to populate with 3 different datasources. Then I would like to export to an XLS or XLXS file with the 3 reports concatenated together on one sheet.

String input = "C:\\location\\report1.jrxml";
JasperReport jreport = JasperCompileManager.compileReport(input);         

JasperPrint jprint1 = JasperFillManager.fillReport(jreport, new HashMap<String, Object>(), new JRBeanCollectionDataSource(getReportData(1)));
JasperPrint jprint2 = JasperFillManager.fillReport(jreport, new HashMap<String, Object>(), new JRBeanCollectionDataSource(getReportData(2)));
JasperPrint jprint3 = JasperFillManager.fillReport(jreport, new HashMap<String, Object>(), new JRBeanCollectionDataSource(getReportData(3)));

List<JasperPrint> jprintlist = new ArrayList<JasperPrint>();

jprintlist.add(jprint1);
jprintlist.add(jprint2);
jprintlist.add(jprint3);

JRXlsxExporter exporter = new JRXlsxExporter();
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT_LIST, jprintlist);

String xlsFile = "C:\\location\\test.xlsx";

exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, xlsFile); 
exporter.exportReport();

所有报告均按我的预期生成,但是在excel中,它们是在3个不同的选项卡上生成的,我希望将它们构建在另一个之上.如何以这种方式合并它们?

The reports are all generating as I would expect, however in excel they are being generated on 3 different tabs, what I would like is to have them be built one on top of another. How can I merge them in this way?

推荐答案

您可以将3个报表作为子报表包装在主报表中,然后运行该报表.为此,您需要将要访问哪个数据源的逻辑添加到子报表的数据源表达式中.

You could be to wrap the 3 reports as sub reports in a master report and run that one instead. In order to do so you would need to add the logic for which data source to access into the subreport's data source expression.

或者,您可以在JasperReports外部对Excel工作表进行后期处理.

alternatively you could post process the excel sheet outside JasperReports.

这篇关于jasperreports如何将多个jrmxl文件导出到单个工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆