excel - JasperReports 中每个工作表属性一页

标签 excel jasper-reports xls

我有一个要求,我必须在 JasperReports 中设计一个报告。该报告有 4 页。第一张表有 5 页,类似的其他表有一页或两页。我面临的问题是,如果我使用 net.sf.jasperreports.export.xls.one.page.per.sheet 属性并将其设置为 true,那么所有页面都位于不同的工作表中。我需要以某种方式设计报表,使某些页面位于同一张工作表中,某些页面位于不同的工作表中。

可以这样做吗?

最佳答案

假设您有 4 个单独的报表需要批量导出,那么在每个报表中您需要将 Ignore Pagination 设置为 true (它是 jasperReport 标签中的一个属性在 jrxml 文件的开头,该属性类似于 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();

要设置工作表名称,请查看 Dynamic Sheet Names例如他们在 JasperForge 的例子。

<小时/> 根据您的评论,您希望使用相同的报告模板导出为多种格式。 Excel 是唯一需要忽略分页的工具。您可以做的是在运行时通过参数设置,而不是在报告中硬编码。因此,将以下内容添加到 params1、params2、params3 和 params4:

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);
}

关于excel - JasperReports 中每个工作表属性一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752117/

相关文章:

python - 如果 df1 中的工作表名称与字符串值匹配,我如何将 df2 复制到 df1

python - 使用 openpyxl 模块写入电子表格会创建损坏的电子表格,如何使用 zipfile 模块修复?

jasper-reports - 无法在 jasper 报告中使用子报告创建表格

java - 使用java读取数据库中的xls文件

具有多个输入和输出的 PHP xls 从 mysql 导出

PHPExcel 解析带有 "numbers stored as text"警告的 .XLS 文件返回#VALUE

jquery - 如何在更改另一个单元格值时自动填充光滑网格中单元格的值

Python:如何使用 xlwt 编写复数到 Excel?

java - JRBeanCollectionDataSource : How to show data from the java. util.List 来自 JavaBean?

java - 如何使用 JasperReports 只查看表中的一条记录?