exportar - jasperreport java example pdf
JasperReports 5.6: JRXlsExporter.setParameter está en desuso (3)
Aquí está mi CÓDIGO:
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();
}
Tengo este código para exportar un JasperReprot a 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();
Actualizando a JasperReports 5.6 todos setParameter están marcados como "obsoletos" y no puedo encontrar documentación para adaptar este código.
¿Cómo exportar un informe a xls con JasperReports 5.6 ?
Gracias al código anterior, aquí está mi código: Aviso: Exportar Excel con 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();
}
JRExporter quedó en desuso en 5.6. Introdujeron una nueva interfaz Exportador y actualizaron todos los exportadores para que tengan ExporterInput, ReportExportConfiguration, ExporterConfiguration, ExporterOutput. Ver el enlace a continuación
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/export/Exporter.html
Esto significa que en lugar de setParameter, necesita crear una configuración utilizando las clases mencionadas anteriormente o sus clases secundarias Ejemplo de exportación de PDF. La exportación de Excel debe seguir la misma metodología
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(outputStream);
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
Contraparte de 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 tendrá una configuración relacionada con la exportación de excel. Establezca los valores según su requisito