我有两个子报表,它们在单独的工作表中。问题在于,第二个工作表中的列分割与第一个工作表中的相同,因此存在一些合并的单元格。对于合并的单元格,您无法对列进行排序(“此操作要求合并的单元格具有相同的大小”)。
如何实施列的新样式/细分?
这些是我对出口商的设置:
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))
我希望只有两列(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));
...