Informe Jasper Report desde CSV
Para generar un informe con Jasper Studio a partir de un fichero CSV tenemos que seguir los siguientes pasos
- Crear un DataSource a partir del fichero CSV
- Crear nuestro informe .jrxml con este DataSource.
- Si queremos usar el componente Table, crearle un Sub DataSet con el fichero CSV
Veamos los pasos con detalle. Puedes ver el tutorial de Jasper Studio si no estás familiarizado con la herramienta. Iremos poniendo enlaces a las imagenes de ese tutorial.
Crear un DataSource del fichero CSV[editar]
Para crear el DataSource, botón derecho sobre nuestro proyecto de Jasper Studio para sacar el menú y "New" -> "Data Adapter". Nos aparecerá una ventana pare elegir en qué carpeta queremos crear el Data Adaptar y ponerle un nombre
Ponemos un nombre, por ejemplo "DataAdapterCSV" respetando la extensión del fichero, seleccionamos la carpeta "Tutorial Jasper Studio", que es el nombre de mi proyecto y pulsamos "Next". Aparecera una ventana con las posibles fuentes de datos.
Seleccionamos "CSV File" y pulsamos "Next". Aparece una ventana para seleccionar nuestro fichero CSV y meter alguna configuración
Puntos importantes de esta ventana en los que te tienes que fijar:
- Pon un nombre en la caja "Name"
- Selecciona tu fichero CSV pulsando el botón "File"
- Fíjate en la pestaña "Separators". Ahí puedes indicar cual es el separador de campos de tu fichero CSV (comas, punto y comas, tabuladores, etc) y el separador de líneas (retorno de carro estilo linux o estilo windows).
- Si has cambiado los "Separators" después de seleccionar el fichero, puedes pulsar el botón "Get column names from the first row of the file" para recargar el fichero.
- Fíjate, abajo, hay check para indicar si la primera fila de nuestro CSV es el nombre de las columnas. Márcaslo si es así.
- Y hay un combo para el Encoding del fichero (UTF-8, Windows-1252, etc). Si tienes acentos, eñes, etc, en el fichero, asegúrate de elegir el encondig adecuado.
Pulsa "Finish" y está listo.
Crear la plantilla del informe[editar]
Tienes los detalles en el tutorial de Jasper Studio, así que aquí solo vamos a dar los detalles que afecten a CSV.
Botón derecho del ratón sobre nuestro proyecto y "New" -> "Jasper Report". Nos aparece una ventana para elegir posibles plantillas base. Elegimos la que está en blanco "Blank A4". Pulsamos "Next"
Aparece una ventana para dar nombre a nuestra plantilla de Report. Ponemos el nombre, por ejemplo "ReportExampleCSV.jrxml", seleccionamos el directorio donde queremos que se guarde y pulsamos "Next". Aparece una ventana para seleccionar el Data Source para el informe
Seleccionamos el Data Source CSV que creamos en el primer paso de este tutorial y pulsamos "Next".
Aparece una ventana con las columnas encontradas en el CSV. Con los botones ">" o ">>" pasamos al lado derecho las columnas que queremos que aparezcan en nuestro informe. Pulsamos "Next".
Aparece una ventana similar, pero esta vez para seleccionar si queremos agrupar las filas por algún valor de alguna columna. No es el caso en nuestro ejemplo, así que no movemos nada al lado derecho y pulsamos "Next" y terminado. Ya podemos empezar a crear el informe. Se nos presentan dos opciones
- No queremos usar el componente Table para nuestro informe. Todo listo entonces, podemos empezar a colocar componentes sobre el diseño de nuestro informe.
- Queremos usarl el componente Table para nuestro informe. Necesitamos entonces crear un Sub DataSet.
Crear el informe Jasper sin el componente Table[editar]
De la pesaña "Outline", abrimos el nodo "Fields" y vamos arranstrando los distintos campos sobre la banda "Detail 1". Esto nos colocará el valor del dato en la banda "Detail 1" y a la vez, el nombre de la columna en la banda "Column Header". Tras arrastralas todas, recolocarlas y estrechar la banda "Detail 1" para que sea igual de alta que los campos que hemos metido dentro, tendremos algo parecido a lo siguiente
Si damos a previsualizar el informe en la pestaña de abajo "Preview", veremos lo siguiente
Crear el informe Jasper con el componente Table[editar]
Arrastramos el componente Table sobre la banda "Detail 1" del informe. Nos sale una ventana que nos pide el Data Set para la tabla. Seleccionamos crear un nuevo Data Set y pulsamos "Next".
Nos sale una ventana para poner el nombre del DataSet y elegimos la opción "Creamos new dataset from ..." y pulsamos "Next". Nos sale una ventana para elegir "Data Source". Seleccionamos el Data Source CSV que creamos en los primeros pasos de este tutorial. Vuelven a salirnos las ventanas de seleccionar qué campos queremos en este nuevo Data Set y si queremos hacer agrupaciones. Así que repetimos los pasos que ya hicimos. La siguiente ventana es importante
Debemos marcar la opcion "Use a JRDataSource expression" y en la caja escribir $P{REPORT_DATA_SOURCE}. Esto ligará el Sub DataSet de la tabla con el Main DataSource del informe, el que cargamos primero. Si no hacemos correctamente este paso, no veremos datos en la tabla.
Pulsamos "Next" y ya nos sale la ventana para configurar la tabla. Cambiando lo que queramos, pulsamos "Finish" y la tabla aparecerá en nuestro informe. Nos toca ahora ajustarla a la página para que ocupe el espacio que queramos, ajustar columnas, etc. Una vez hecho, dando "Preview", podemos ver un informe como el siguiente
Generar el informe desde Java[editar]
Una vez tenemos el fichero .jrxml, podemos Generar informe Jasper Report con datos CSV desde Java