我想在工作表中分隔子报表,但如果我将setOnePagePerSheet(true)分隔为第二个子报表,那么在多个工作表中也会很长时间。我希望每个子报告只有一个工作表。
这些是导出器的设置:
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);
答案 0 :(得分:1)
将excel设置为在您喜欢的时候打破,而不是在每个报告页面上
xlsxExporter.setOnePagePerSheet(false);
将属性 net.sf.jasperreports.export.xls.break.before.row
添加到 reportElement ,如果您希望将其打入新工作表
例如
<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>