当我从Jasperserver导出时,我试图将报表拆分为多个Excel表格。
报告结构 - 包含四个子报告的主页面。每个子报表的组页眉和页脚,页眉包含子报表元素,而在页脚中我已经将页面拆分元素与属性放在一起。
<property name="net.sf.jasperreports.export.xls.break.after.row" value="true"/>
将Pbreak放在页眉/页脚中似乎没有什么区别,每个子报表都忽略了分页检查(true)。
主报告有此属性,
<property name="net.sf.jasperreports.export.xls.one.page.per.sheet" value="true"/>
我在这里已经阅读了类似的问题,并且无法通过许多不同的组合产生任何结果。不确定我的问题是否特定于Ireport 5.0。
编辑:根据佐兰的建议,我得到了报告的工作! (现在只要它不会耗尽内存)这是文本字段背后的XML。<textField>
<reportElement uuid="73dc8dab-6ebf-4f47-bf8c-a1ab6b4b0454" x="0" y="0" width="100" height="1">
<property name="net.sf.jasperreports.export.xls.break.after.row" value="true"/>
</reportElement>
<textElement/>
</textField>
答案 0 :(得分:3)
将分页符放入主报告中。 我对子报表有同样的问题并尝试了所有可能的属性组合,但似乎无法从子报表中断页面。
编辑: 它也停止了我的报告工作,我解决了添加1px高文本字段的属性 net.sf.jasperreports.export.xls.break.after.row 设为true。 我还使用此字段来设置工作表名称 net.sf.jasperreports.export.xls.sheet.name
我没有收到您的回复通知,否则我会尽快回答......
FIELD SOURCE
<textField>
<reportElement positionType="FixRelativeToBottom" x="1325" y="122" width="1" height="1" uuid="cbee8af0-8639-4f97-bd6a-4cd284e604c4">
<property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
<propertyExpression name="net.sf.jasperreports.export.xls.break.after.row"><![CDATA[$V{REPORT_COUNT} < $F{MAX_ROW_CNT} ? "true" : "false"]]></propertyExpression>
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{GROUP_NAME}]]></propertyExpression>
</reportElement>
<textFieldExpression><![CDATA[($V{REPORT_COUNT} < $F{MAX_ROW_CNT}) ? "true" : "false"]]></textFieldExpression>
</textField>
字段位于报告右边缘的子报告元素下。 我正在使用表达式进行分页,以避免在报告结尾处出现额外的空白页面。 字段MAX_ROW_CNT来自查询中的分析函数,REPORT_COUNT是表示当前行号的JR变量。