Thank you for your suggestion. I've managed to make all function with the output in html and pdf and also in excel using the poi libraries. But I'd like to use the JExcel libraries, I suppose they uses less memory. Here is my code: JExcelApiExporter exporter = new JExcelApiExporter(); ByteArrayOutputStream xlsReport = new ByteArrayOutputStream(); exporter.setParameter( net.sf.jasperreports.engine.JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE,Boolean.TRUE); exporter.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE) ; exporter.setParameter(JExcelApiExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.TRUE); exporter.setParameter(JExcelApiExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); exporter.setParameter( net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STREAM,xlsReport); exporter.exportReport(); byte[] bytes = xlsReport.toByteArray(); resp.setContentType("application/vnd.ms-excel"); resp.setContentLength(bytes.length); resp.setHeader("Content-disposition", "attachment; filename="" + filename + ".xls""); ServletOutputStream ouputStream = resp.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); context.responseComplete(); Have I made something wrong? Thank you again for any help.