1

ワークシートでサブレポートを分離したいのですが、OnePagePerSheet(true) を設定すると、2 番目のサブレポートが非常に長く、複数のワークシートでも中断されます。サブレポートごとに 1 つのワークシートのみが必要です。

これらは、エクスポーターの私の設定です:

        reportBuilder.title(cmp.subreport(criteriaReportBuilder), cmp.pageBreak(), cmp.subreport(secondReportBuilder));
JasperXlsxExporterBuilder xlsxExporter = DynamicReports.export.xlsxExporter(outputStream);
        xlsxExporter.setCollapseRowSpan(false);
        xlsxExporter.setRemoveEmptySpaceBetweenColumns(true);
        xlsxExporter.setRemoveEmptySpaceBetweenRows(false);
        xlsxExporter.setDetectCellType(true);
        xlsxExporter.setWhitePageBackground(false);
        xlsxExporter.setIgnoreGraphics(false);
        xlsxExporter.setOnePagePerSheet(true);
        xlsxExporter.setMaxRowsPerSheet(Integer.MAX_VALUE);

        reportBuilder.toXlsx(xlsxExporter);
4

1 に答える 1

1

すべてのレポート ページではなく、好きなときに中断するように Excel を設定する

xlsxExporter.setOnePagePerSheet(false);

新しいシートに分割する場合は、 reportElementにプロパティ net.sf.jasperreports.export.xls.break.before.rowを追加します

<reportElement x="7" y="15" width="146" height="35" uuid="8ee71878-fc35-4991-a7dc-5199f23f2978">
   <property name="net.sf.jasperreports.export.xls.break.before.row" value="true"/>
</reportElement>
于 2015-12-03T15:08:01.903 に答える