Ireport 5.0多页导出到Excel

时间:2013-04-12 20:31:33

标签: jasper-reports ireport export-to-excel

当我从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>

1 个答案:

答案 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变量。