J'ai ce code pour exporter un JasperReprot vers XLS:
JasperPrint jprint=JasperFillManager.fillReport(expRpg, null, new JRBeanCollectionDataSource(datalist));
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jprint);
exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outStream);
exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.exportReport();
Mise à niveau vers JasperReports 5.6 tous les setParameter sont marqués comme "obsolètes" et je ne trouve pas de documentation pour adapter ce code.
Comment exporter un rapport vers xls avec JasperReports 5.6?
JRExporter est devenu obsolète en 5.6. Ils ont introduit une nouvelle interface Exporter et mis à niveau tous les exportateurs pour avoir ExporterInput, ReportExportConfiguration, ExporterConfiguration, ExporterOutput. Voir le lien ci-dessous
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/export/Exporter.html
Cela signifie qu'au lieu de setParameter, vous devez créer la configuration en utilisant les classes mentionnées ci-dessus ou leurs classes enfants PDF. L'exportation Excel doit suivre la même méthodologie
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(outputStream);
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
Homologue Excel
JRXlsExporter exporter = new JRXlsExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile));
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(true);
configuration.setDetectCellType(true);
configuration.setCollapseRowSpan(false);
exporter.setConfiguration(configuration);
exporter.exportReport();
SimpleXlsReportConfiguration aura une configuration liée à l'exportation Excel. Définissez des valeurs selon vos besoins
Merci au code ci-dessus, voici mon code: Remarque: Exportez Excel avec ireport, ireport 6.0, Java 7
Map<String, Object> parametro = new HashMap<String, Object>();
parametro.put("USUARIO", UConstante.NAME_MINISTERIO_USER);
parametro.put("RUTA_LOGO", PuenteFile.getRutaFiles(FacesContext.getCurrentInstance(), PuenteFile.RUTA_IMG_LOGO));
parametro.put("PATH_SYSTEM", rutaFileSystemHD);
parametro.put("WHERE_DATA", WHERE_REGISTRO);
parametro.put("WHERE_PROYECTO_USUARIO", WHERE_PROYECTO_USUARIO);
parametro.put("WHERE_ZONA", WHERE_ZONA);
parametro.put("NAME_APP", RutaFile.NAME_APP);
parametro.put("ID_USUARIO", getUsuario().getId());
parametro.put("ID_PROYECTO", beanProyecto.getId());
parametro.put("SUBREPORT_DIR", SUBREPORT_DIR);
System.out.println(">>>>>> PARAMETROS :" + parametro.toString());
try {
JasperPrint jasperPrint = JasperFillManager.fillReport(path, parametro, PgConnector.getConexion());
JRXlsExporter xlsExporter = new JRXlsExporter();
xlsExporter.setExporterInput(new SimpleExporterInput(jasperPrint));
xlsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(PuenteFile.getRutaFiles(FacesContext.getCurrentInstance(), PuenteFile.RUTA_REPORT_FILE) + nameExcel));
SimpleXlsReportConfiguration xlsReportConfiguration = new SimpleXlsReportConfiguration();
SimpleXlsExporterConfiguration xlsExporterConfiguration = new SimpleXlsExporterConfiguration();
xlsReportConfiguration.setOnePagePerSheet(true);
xlsReportConfiguration.setRemoveEmptySpaceBetweenRows(false);
xlsReportConfiguration.setDetectCellType(true);
xlsReportConfiguration.setWhitePageBackground(false);
xlsExporter.setConfiguration(xlsReportConfiguration);
xlsExporter.exportReport();
} catch (Exception ex) {
ex.printStackTrace();
}
Voici mon CODE:
String sourceFileName = "./jasper_report_template.jasper";
Map parameters = new HashMap();
String printFileName = null;
try {
printFileName = JasperFillManager.fillReportToFile(sourceFileName, parameters, beanArrayDataSource);
if(printFileName != null){
//JasperPrintManager.printReport( printFileName, true);
/** 1- export to PDF*/
JasperExportManager.exportReportToPdfFile(printFileName,
"C://Users/zanderkong/Desktop/sample_report.pdf");
/**3- export to Excel sheet*/
RXlsExporter xlsExporter = new JRXlsExporter();
xlsExporter.setExporterInput(new SimpleExporterInput(printFileName));
xlsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput("C://Users/zanderkong/Desktop/sample_report.xls"));
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(true);
configuration.setDetectCellType(true);
configuration.setCollapseRowSpan(false);
xlsExporter.setConfiguration(configuration);
xlsExporter.exportReport();
}
} catch (JRException e) {
e.printStackTrace();
}