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

如何实施列的新样式/细分?

这些是我对出口商的设置:

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))
java - 使用JasperXlsxExporterBuilder在工作表中进行不同的列分割-LMLPHP
我希望只有两列(A-B),而不是A-G。

最佳答案

将评论转换为答案:

JasperPrint生成多个DynamicJasper,然后使用标准的JRXlsExporter

JRXlsExporter exporter = new JRXlsExporter();
List<JasperPrint> sheets = new ArrayList<JasperPrint>();
sheets.add(criteriaReportBuilder.toJasperPrint());
sheets.add(reportBuilder.toJasperPrint());
exporter.setExporterInput(SimpleExporterInput.getInstance(sheets));
...

09-09 21:17