I was trying to write an excel sheet and then download the same using byteArray. I have almost 1L records and is getting the following error.
Invalid row number (65536) outside allowable range (0..65535)
try { List<byte[]> byteArray = new ArrayList(); for (ReportGen reportGen : reportGenOutputs) { JasperPrint jasperPrint = (JasperPrint)reportGen.getContent(); ByteArrayOutputStream outStr = new ByteArrayOutputStream(); JRXlsExporter XLSExp = new JRXlsExporter(); XLSExp.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); XLSExp.setParameter(JRExporterParameter.OUTPUT_STREAM, outStr); XLSExp.setParameter(JRXlsAbstractExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); XLSExp.exportReport(); byteArray.add(outStr.toByteArray()); } return byteArray; } catch (Exception e) { // Exception goes here }
Invalid row number (65536) outside allowable range (0..65535)Invalid row number (65536) outside allowable range (0..65535)
1 Answer:
Posted on March 19, 2014 at 4:57pm
Seems like something in the following thread. Which version of JasperReports are you using?
http://stackoverflow.com/questions/10753562/invalid-row-number-65536-out...
Version : jasperreports-3.7.6
The above link seems not using the JasperReports but the Apache POI.
Is this issue got resolved? I am facing this same issue with jasperreports-5.5.1 version.
Nevermind,it seems not an issue with Jasper reports.
Changed JRXlsExporter to JRXlsxExporter to generate XLSX format instead of XLS.