1

我有两个子报告,它们位于单独的工作表中。问题是,第二个工作表中的列分割与第一个工作表中的相同,因此有一些合并的单元格。对于合并的单元格,您无法对列进行排序(“此操作要求合并的单元格大小相同”)。

我怎样才能强制执行列的新样式/分段?

这些是我对导出器的设置:

reportBuilder.title(cmp.subreport(criteriaReportBuilder), 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(false);

        reportBuilder.toXlsx(xlsxExporter);

第二份报告的输出 (cmp.subreport(secondReportBuilder)) 第二份报告的输出 我希望只有两列 (AB) 而不是 AG。

4

1 回答 1

1

将评论转换为答案:

生成多个 JasperPrintDynamicJasper然后使用标准JRXlsExporter

JRXlsExporter exporter = new JRXlsExporter();
List<JasperPrint> sheets = new ArrayList<JasperPrint>();
sheets.add(criteriaReportBuilder.toJasperPrint());
sheets.add(reportBuilder.toJasperPrint());
exporter.setExporterInput(SimpleExporterInput.getInstance(sheets));
...
于 2015-12-04T14:37:06.003 回答