每当我的交叉表报告的结果大于 702 列(ZZ 列)时,就会从 Excel 收到“不可读的内容”错误。当少于此列数时 - 没有错误。有限制吗?XLSX 应处理 16,000 多列。
我们正在使用 JasperReports v4.0.1 和 POI 3.6。我已经尝试并使用 JasperReports v4.7 和 POI 3.7 重新创建了同样的问题。
任何帮助或见解表示赞赏。
出口代码:
JRXlsxExporter xlsExporter = new JRXlsxExporter();
File fileP = new File(_workdir + report_name + ".jrprint");
JasperPrint jasperPrint = (JasperPrint)
JRLoader.loadObject(fileP);
xlsExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE);
xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
xlsExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, _outputName);
System.out.println("Exporting Excel Report to " + _outputName);
xlsExporter.exportReport();
System.out.println("Export Complete.");