【问题标题】:Jasper Report Creation - Suppress and Hide Pagination HeadersJasper 报告创建 - 抑制和隐藏分页标题
【发布时间】:2013-01-14 15:30:38
【问题描述】:
我正在开发一个 Java 应用程序来从 iReports 中创建的“.jasper”报告文件生成报告。当以 PDF 格式生成报告时,我想在每个单独的页面上保留列标签和分页信息。但是,当导出为 excel 电子表格或纯 HTML 时,我只需要列标题一次。谁能建议我可以在 Java 中以编程方式将设置传递给 Jasper API 来处理这个问题?
【问题讨论】:
标签:
java
excel
pdf
pagination
jasper-reports
【解决方案1】:
您需要在导出器中设置一些设置才能将其导出为一页:
reportExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
reportExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
现在,这只会让您获得一部分。因为它仍然会分别打印一次页眉和页脚。您需要在报告中添加一个布尔参数,指示是否打印这些波段。您可以在乐队的printWhenExpression 中设置它。
【解决方案2】:
您可以有条件地添加JRParameter.IS_IGNORE_PAGINATION,以抑制导出到excel时生成列标题。适用于 Jasper 报告 5.5。
HashMap<String, Object> parameters = new HashMap<String, Object>();
parameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
JasperPrint jasperPrint = JasperFillManager.fillReport(compiledReport, parameters,
(jrDataSource == null) ? new JREmptyDataSource() : jrDataSource);