Jasper Reports - 从子报表中删除pageHeader / columnHeader

时间:2011-07-27 18:01:06

标签: jasper-reports ireport

我有一份包含2个子报告的主报告。我使用相同的报告生成PDF和xls。分页启用但是对于excel,我需要禁用分页,我通过在一张表中渲染所有分页来实现。每个页面都会重复页眉/列标题。这些页眉/列标题来自子报告。这对PDF很好,但在excel的情况下,我想摆脱重复的标题。 我设置了这些属性:

<property name="net.sf.jasperreports.export.xls.exclude.origin.band.3" value="pageHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.3" value="pageHeader" />
<property name="net.sf.jasperreports.export.pdf.exclude.origin.keep.first.band.1" value="pageHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter" />
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true" />
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true" />

但这些并不反映在子报表呈现的数据中。在xls中,我仍然看到pageHeader / columnHeader重复出现。请让我知道,如何解决这个问题。

2 个答案:

答案 0 :(得分:2)

对于XLS(和HTML)报告,您可能希望将参数IS_IGNORE_PAGINATION设置为true。有关文档,请参阅http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRParameter.html

答案 1 :(得分:2)

我知道这是一个老问题,但我一直忘记自己如何做到这一点,每次搜索时我都会发现这个问题,所以以为我会放点东西,所以下次我会找到它。

在主报告文件中,您还需要将子报告添加到过滤器:

<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="columnHeader" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1" value="columnHeader" /> 
<property name="net.sf.jasperreports.export.xls.exclude.origin.report.1" value="sub-report-name" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.report.1" value="sub-report-name" />