3

Jasperserver からエクスポートするときに、レポートを複数の Excel シートに分割しようとしています。

レポートの構造 - 4 つのサブレポートを含むメイン ページ。各サブレポートのグループ ヘッダーとフッター。ヘッダーにはサブレポート要素が含まれ、フッターには改ページ要素とプロパティが配置されています。

<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

改ページをメイン レポートに挿入します。サブレポートでも同じ問題が発生し、可能なすべてのプロパティの組み合わせを試しましたが、サブレポートからページを分割することは不可能のようです。

編集: レポートでも動作しなくなり、プロパティ net.sf.jasperreports.export.xls.break.after.row を true に設定して 1px の高さのテキスト フィールドを追加することで解決しました。また、このフィールドを使用して、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 に答える