3

当我从 Jasperserver 导出时,我试图将我的报告拆分为多个 Excel 工作表。

报告结构 - 包含四个子报告的主页。每个子报表的组页眉和页脚,页眉包含子报表元素,而在页脚中,我已将分页符元素与属性..

<property name="net.sf.jasperreports.export.xls.break.after.row" value="true"/> 

将 Pbreaks 放在页眉/页脚中似乎没有什么区别,并且每个子报表都选中了忽略分页(true)。

主报告有这个属性,

<property name="net.sf.jasperreports.export.xls.one.page.per.sheet" value="true"/>

我在这里阅读了类似的问题,并且无法通过许多不同的组合产生任何结果。不确定我的问题是否特定于 Ireport 5.0。

编辑:根据 Zoran 的建议,我得到了报告!(现在只要它不会耗尽内存)这是文本字段后面的 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>
4

1 回答 1

3

将分页符放入主报告中。我在子报表中遇到了同样的问题,并尝试了所有可能的属性组合,但似乎不可能从子报表中断开页面。

编辑:它也停止处理我的报告,我通过添加 1px 高文本字段并将属性 net.sf.jasperreports.export.xls.break.after.row 设置为 true 来解决。我还使用此字段使用 net.sf.jasperreports.export.xls.sheet.name 设置工作表名称

我没有收到您回复的通知,否则我会尽快回复...

场源

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

于 2013-05-14T09:15:14.717 回答