Generar informe Jasper Report con datos CSV desde Java
Podemos aimentar nuestro informe Jasper Report jrxml con datos CSV. Veamos el código Java para hacerlo
// Crear un objeto JRCsvDataSource para proporcionar los datos al informe
JRCsvDataSource dataSource = new JRCsvDataSource("src/main/files/DatosJasper.csv", "Windows-1252");
// Configurar el delimitador y si la primera fila del CSV es de encabezado
dataSource.setFieldDelimiter(';');
dataSource.setUseFirstRowAsHeader(true);
// Compilar el informe a partir del archivo .jasper
JasperReport report = JasperCompileManager.compileReport(
"src/main/files/ReportExampleCSV.jrxml");
// Parámetros, si los tienes
HashMap<String, Object> params = new HashMap<>();
// Generar el informe
JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, dataSource);
// Mostrar el informe en una ventana
JasperViewer.viewReport(jasperPrint);
El código necesita poca explicación:
- Creamos un
JRCsvDataSource
con el fichero CSV e indicando el encoding de dicho fichero - Configuramos los parámetros necesarios del CSV, como cual es el separador de campos o si la primera fila contiene el nombre de las columnas
- Compilamos la plantilla Jasper .jrxml
- Creamos un
Map
con los parámetros a pasar al informe, que en este caso no hay. - Rellenamos la plantilla con los parámetros y el dataSource
- Y sólo nos queda previsualizar el informe.