我試圖用+80.000導出一個XLS文件,我得到了「net.sf.jasperreports.engine.JRException:單元格無法添加」。導出帶有+80.000記錄的XLS
我試圖超出「MAXIMUM_ROWS_PER_SHEET」,但它沒有奏效。
這是我的代碼:
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
JasperReport relatorioJasper = (JasperReport) JRLoader.loadObjectFromFile(parametros.get("REPORT_JASPER")+"");
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(listaReport);
JasperPrint jasperPrint = JasperFillManager.fillReport(relatorioJasper, parametros, dataSource);
JRXlsExporter exporter = new JRXlsExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(out));
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(false);
configuration.setDetectCellType(true);
configuration.setCollapseRowSpan(false);
configuration.setRemoveEmptySpaceBetweenColumns(true);
// exporter.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET, 10000);
exporter.setConfiguration(configuration);
exporter.exportReport();
InputStream relatorios = new ByteArrayInputStream(out.toByteArray());
return stream2file(relatorios, parametros.get("REPORT_NAME")+"" ,Constantes.XLS);
}catch(Exception e){
e.printStackTrace();
}
return null;
任何人可以幫助我嗎?
你可以發佈完整的堆棧跟蹤文章 –
@ user3633580你可以嘗試使用附加的* JasperReports *庫源代碼來調試代碼。您可以在新JRException(EXCEPTION_MESSAGE_KEY_CANNOT_ADD_CELL)引發的地方設置斷點,例如在* JExcelApiExporter *類中,在這種情況下,您可以捕獲異常的第三方庫(POI或JExcelApi)的原因 –
感謝您的提示,但它只是改變XLS到XLSX – user3633580