Abh*_*ash 4 excel xls jasper-reports
我有一个要求,我必须在JasperReports中设计一个报告.该报告有4张.第一张纸有5页,类似地其他纸张有一页或两页.我面临的问题是如果我使用net.sf.jasperreports.export.xls.one.page.per.sheet属性并将其设置为true,然后所有页面都有不同的表格.我需要以这样的方式设计报告:某些页面将在同一张纸中,而某些页面则在不同的纸张中.
是否有可能做到这一点?
假设你有4个独立的报告,你是批量出口,然后在每个报告需要设置Ignore Pagination到true(这是在JRXML文件的beggining在jasperreport的标签属性,该属性的样子isIgnorePagination="true").
要实际导出它应该看起来类似于:
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList.add(JasperFillManager.fillReport("report1.jasper", params1));
jasperPrintList.add(JasperFillManager.fillReport("report2.jasper", params2));
jasperPrintList.add(JasperFillManager.fillReport("report3.jasper", params3));
jasperPrintList.add(JasperFillManager.fillReport("report4.jasper", params4));
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "BatchExportReport.xls");
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();
Run Code Online (Sandbox Code Playgroud)
要设置工作表名称,请查看他们在JasperForge 上的动态工作表名称示例.
if(exportFormat == EXCEL) {
params1.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params2.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params3.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params4.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8266 次 |
| 最近记录: |