Jasper reports 如何在Jasperreports中以特定的方式将页眉、页脚和表体拆分为页面

Jasper reports 如何在Jasperreports中以特定的方式将页眉、页脚和表体拆分为页面,jasper-reports,export-to-excel,export-to-pdf,Jasper Reports,Export To Excel,Export To Pdf,朋友们 我对我的报告有非常特殊的要求。让我们先看一下报告: ___________ | | | header | | | | row | | row | | row | | footer | | footer | |_________| 这是我典型的页面,所有行、页眉和页脚都在同一页面上。有时我的一页有太多行,我的报告如下所示: __________ | | | header | | | | row

朋友们

我对我的报告有非常特殊的要求。让我们先看一下报告:

___________
|         |
| header  |
|         |
| row     |
| row     |
| row     |
| footer  |
| footer  |
|_________|
这是我典型的页面,所有行、页眉和页脚都在同一页面上。有时我的一页有太多行,我的报告如下所示:

__________
|        |
| header |
|        |
| row    |
| row    |
| row    |
| row    |
| row    |
|________|

__________
| row    |
| row    |
| row    |
| row    |
| row    |
| row    |
| row    |
| footer |
|________|

__________
| footer |
|        |
|        |
|        |
|        |
|        |
|        |
|        |
|________|
我不能在最后一行和页脚之间插入拆分器,因为我的要求是: -页眉页必须至少有一行 -页脚页必须至少有一行

所以,我找不到解决这个问题的办法。我的页脚可以分成两页。我的页脚可能没有行,这对打印XLS文件非常不利。我可以用PDF代替XLS,但我也有同样的问题。有人知道如何解决这个问题吗

-----==更新===-----

因此,dada67先生提供了很好的解决方案。我们可以将组放入文档中,组将使用表达式='1'执行我们需要的操作(看起来我们选择了所有元素)。但我的问题有一些更新

如果我的每一行都是包含一些行的子报表呢?当我在主报表中使用group时,Jasper会将我的每个子报表及其所有行作为一行进行处理。我能强迫Jasper认为单个元素不是整个子报表元素,而是子报表中的一行吗

-----==更新2===-----

所以,解决方案就在这里。当您需要将上一个子报表的最后一行移动到下一页时,您只需要在子报表中创建一个组,使用espression='1'(收集所有行)和来自dada67的正确答案的设置。这迫使jasper在每个子报表之后绘制页脚,但您可以在除最后一个子报表之外的所有子报表中隐藏页脚


感谢爸爸67

JasperReports 6.4.3引入了两个新的组属性,称为
minDetailsToStartFromTop
preventOrphanFooter
,用于指定组页眉和页脚是否需要带有一个详细信息栏位(页眉情况下为多个)

因此,您可以使用常量表达式在报表中创建组,设置两个属性并使用组页眉和页脚标注栏

<group name="Group" minDetailsToStartFromTop="1" preventOrphanFooter="true">
    <groupExpression><![CDATA[1]]></groupExpression>
    <groupHeader>
        ...
    </groupHeader>
    <groupFooter>
        ...
    </groupFooter>
</group>

...
...

所以你想在报告中有一个页眉和一个页脚?是的。很多行,但只有一个页脚(有几行的块)和一个页眉。您可以使页眉和页脚成为全局的。谢谢您的回答。你能对我添加到主题中的内容给出更多的评论吗?当发布带有“minDetailsToStartFromTop”的报告时,我收到一个错误,声称该报告不允许在组中使用。正如回答中所述,minDetailsToStartFromTop是在JasperReports 6.4.3中引入的。您使用的是旧版本吗?