Software Médico

SimpleHC Medium

Un software pensado para toda la comunidad médica


Para solicitar desarrollo de software y/o aplicaciones personalizadas, escríbenos al formulario de contacto





Breaking News





¡BUSCA MÁS CONTENIDO AQUÍ!



▷ Curso de JAVA: Cómo crear reportes en Java【JASPERREPORT - JASPERSOFT STUDIO - JRDATASOURCE】






Hola amigos lectores y seguidores de Software Galaxia Blogs, el día de hoy traemos un tutorial en el cual aprenderemos a utilizar la biblioteca de Jasperreport en su versión mas reciente (6.11.0) y de esta manera poder incorporarla a tus proyectos de JAVA. Realizaremos un ejemplo en el cual mostraremos el proceso de diseño de un informe utilizando JasperSoft Studio, Crearemos un adaptador de tipo JRDataSource el cual será nuestra fuente de datos y de esta manera proveer con datos dinámicos nuestro informe.

Estamos en proceso de creación de un curso relacionado a la generación de informes con JAVA, el cual hemos llamado: Curso Jasperreport Nivel I, en este aprenderás las bases que necesitas saber para empezar a desarrollar tus informes y poder incorporarlos a tus proyectos; si deseas saber mas acerca de dicho curso te invito a que visites el siguiente Link... CURSO JASPERREPORT NIVEL I - INTRODUCCIÓN Y GENERALIDADES.


Links de código fuente

JAVA + JASPERREPORT


Explicación por VideoTutorial:

Creamos un videotutorial especialmente para ti en el cual te brindamos información detallada acerca de la temática que trataremos el día de hoy, lo hemos divido en dos partes.






Explicación por Foto-Tutorial:

Iniciamos explicando lo que deseamos hacer en nuestro ejemplo, vamos a crear un informe de tal forma que me permita listar varios países del mundo, los cuales tendrán información relevante de estos tales como: Capital, N° De Habitantes. 
La información de dichos países estará almacenada en un colección de datos o arreglo Bidimensional.

1. Diseño del Informe.

Iniciamos trabajando con JasperSoft Studio el cual será la herramienta de diseño que utilizaremos para crear nuestro informe, lo primero que haremos sera crear un nuevo archivo.


Creamos un nuevo archivo de diseño (.jrxml)
Creamos un nuevo archivo .JRXML
Para crear dicho archivo de diseño: Seleccionamos la opción File>New>Jasper Report. 
Realizamos el proceso para crear un nuevo archivo .jrxml
Realizamos el proceso para crear un nuevo archivo .jrxml
Luego tendremos un cuadro de dialogo similar al que podemos ver en la imagen, debemos elegir la plantilla que vamos a utilizar para nuestro ejemplo; seleccionaremos la plantilla de diseño Coffe_landscape, oprimimos el botón next.


Seleccionamos la plantilla para diseñar nuestro reporte - Jasperreport
Seleccionamos la plantilla para diseñar nuestro reporte

Para finalizar debemos seleccionar el espacio de trabajo (Workspace) donde alojaremos nuestro archivo de diseño .jrxml, podremos asignarle un nombre a nuestro archivo y oprimimos el botón finish.

Asignamos un nombre a nuestro archivo de diseño - Jasperreport
Asignamos un nombre a nuestra archivo - Jasperreport
Una vez realizado el proceso de creación de nuestro archivo, tendremos un diseño similar al que vemos en la imagen, lo siguiente que tendremos que hacer será mejorar dicho diseño y adaptarlo a las necesidades que queramos suplir; la finalidad de utilizar una plantilla de diseño es tener una base en cuanto al diseño y no realizar el proceso desde cero.
Plantilla de diseño del archivo generado - Jasperreport
Plantilla de diseño del archivo generado - Jasperreport
El código fuente de nuestro archivo de diseño una vez realizado todo el proceso y agregado todos los elementos con los que trabajaremos en nuestro ejemplo quedaría de la siguiente manera: 


En nuestra interfaz de diseño tendríamos algo similar a lo que vemos en la siguiente imagen y con esto terminaríamos la etapa de diseño de nuestro informe.
Diseño terminado ejemplo Jasperreport
Diseño Terminado Ejemplo Jasperreport
Lo siguiente que haremos será compilar nuestro archivo de diseño(.jrxml) y de esta manera generar nuestro archivo .jasper recordemos que cuando estamos trabajando con reportes utilizamos dos extensiones de archivo; una(.jrxml) para la etapa de diseño y así crear nuestro informe y la otra(.jasper) simplemente tendrá nuestro informe compilado y este es el que vamos a utilizar en nuestro proyecto de Java.


Compilamos nuestro reporte - Jasperreport
Compilamos nuestro reporte
Una vez compilado nuestro reporte en la consola podremos seguir el proceso de compilación y conocer la ubicación de dicho archivo compilado.

Proceso de  compilación terminada - Jasperreport
Proceso de compilación terminada
La fase de diseño esta completamente terminada, tenemos los archivos necesarios por lo tanto copiaremos los dos archivos (.jrxml, .jasper) y los agregaremos a nuestro proyecto Java.


Archivos de diseño Jasperreport
Archivos Jasperreport

2. Configuración de Bibliotecas Jasperreport en Java NetBeans 8.2.

Cuando trabajamos reportes en nuestro proyectos  JAVA debemos agregar una serie de bibliotecas que son necesarias para que nuestra aplicación se ejecute de manera optima, a continuación mostraremos el proceso para agregar dichas bibliotecas, son todas las que podemos ver en la imagen. 


Listado de bibliotecas Jasperreport
Listado de bibliotecas Jasperreport
Para agregar las bibliotecas que necesitamos en nuestro proyecto debemos posicionarnos en el mismo, seleccionar la carpeta libraries, oprimimos click derecho y seleccionamos la opción add JAR/Folder... es importante resaltar que este proceso lo debemos hacer en nuestro entorno de desarrollo (IDE) NetBeans.


Proceso para agregar bibliotecas de Jasperreport
Proceso para agregar bibliotecas
Tendremos el siguiente cuadro de dialogo, en el cual debemos encontrar la ubicación de las bibliotecas que deseamos agregar en este caso serian todas las que están seleccionadas.


Agregamos bibliotecas de Jasperreport
Agregamos bibliotecas de Jasperreport
3. Estructura de proyecto JAVA (ejemploJasper).

Nuestro proyecto Java tiene una distribución bastante sencilla, por un parte tenemos el paquete ejemplojasper; en este tenemos la clase principal donde realizaremos el proceso para generar el informe con Jasperreport, por otra parte tenemos la clase PaisesDataSource.java la cual será nuestra fuente de datos la utilizaremos para proveer los datos que se desean mostrar en el informe.
Tenemos el paquete reports; en dicho paquete irá todo lo referente al informe que deseamos generar, tenemos la imágenes que utilizaremos en dicho informe y los archivos .jrxml y .jasper.  


Estructura de Proyecto - Java NetBeans
Estructura de Proyecto
4. Creando la Fuente de Datos (DataSource) de tipo JRDataSource.

La definición tomada de la documentación oficial dice lo siguiente: 

Esta interfaz representa la representación abstracta de una fuente de datos JasperReports. Todos los tipos de fuentes de datos deben implementar esta interfaz. Cada vez que se llena un informe, el motor de informes proporciona o crea una instancia de esta interfaz detrás de escena. JasperReports proporciona implementaciones predeterminadas de conjuntos de resultados, colecciones de beans y fuentes de datos de arrays de beans.
Para crear nuestra fuente de datos hemos creado una clase llamada PaisesDataSource.java la cual implementa de la interfaz JRDataSource, dicha interfaz posee dos métodos abstractos los cuales vamos a estudiar a continuación. 

Método next():

Tenemos un método de tipo boolean el cual sobre-escribimos de tal forma que nos permita recorrer todos los registros que tenemos almacenado en nuestro arreglo(listadoPaises), la variable index será la encargada de iterar y recorrer una a una cada posición(filas) del arreglo.
el método devolverá false cuando la variable index sea igual o mayor a la cantidad de filas existentes de nuestro arreglo bidimensional.


Método Abstracto JRDataSource (next) - JAVA
Método Abstracto JRDataSource (next)

Método getFielValue(JRField jrf):

Tenemos un método el cual devolverá un valor de tipo Object, el valor a devolver dependerá de muchos factores: el mas importante sin duda será conocer el campo al cual deseamos agregar dicha información; estos campos los creamos con anterioridad en la fase de diseño de nuestro informe en JasperSoft Studio (revisar linea 17 a 20 del código fuente del archivo .jrxml), por esta razón creamos una estructura de control del tipo switch-case en la cual determinamos el campo seleccionado y en base a eso obtenemos una posición especifica del arreglo bidimensional.

método abstracto JRDataSource GetFieldValue
Método Abstracto JRDataSource(getFieldValue)
Arreglo Bidimensional - Colección de datos:

A continuación mostramos el arreglo bidimensional en el cual estarán los datos que se van a mostrar en nuestro informe, las dimensiones de dicho arreglo son de 30x4 (30 filas por 4 columnas).
La 1ra Columna hace referencia al campo Id.
La 2da Columna hace referencia al campo Pais.
La 3ra Columna hace referencia al campo Capital.
la 3ra Columna hace referencia al campo num_habitantes.


Colección de datos - Array Java
Colección de datos - Array
Código Fuente - Clase PaisesDataSource.java

5. Proceso de generación de informe - Clase Principal.

En nuestra clase principal crearemos un objeto de la clase JasperReport con el fin de cargar el archivo .jasper (getClass().getResource("/reports/practica_paises.jasper")).
Seguido a esto realizaremos el proceso de llenado de nuestro informe, hacemos uso del método fillReport() perteneciente a la clase JasperFillManager, pasamos tres parámetros los cuales serán; nuestro reporte (report), los parámetros a utilizar el cual lo pasaremos como null y por ultimo la fuente de datos pasaremos una instancia de la clase PaisesDataSource 

Cargar y llenar informe con Java - Jasperreport
Cargamos y realizamos proceso de llenado de informe

Para finalizar obtendremos una vista previa del informe generado, hacemos uno de la clase JasperViewer la cual generara un JFrame donde podremos visualizar nuestro informe.


Obtenemos una vista previa del informe - JASPERREPORT Y JAVA
Obtenemos una vista previa del informe

Al ejecutar nuestro proyecto obtendríamos un reporte final con los respectivos datos del arreglo bidimensional asignados de manera correcta y ordenada a nuestro informe.
Reporte Final Reporte - Jasperreport/JAVA
Resultado Final Reporte
Código Fuente - Clase EjemploJasper.java.





Con esto hemos concluido con el desarrollo del capítulo de hoy, te recomiendo que mires los vídeos ya que allí brindamos una explicación mucho mas detallada.

Suscribete 

si deseas aprender más sobre esta tecnología y Java en general oprime el botón de suscripción para estar atento a todo nuestro contenido.
¡Suscribete!

Si tienes alguna  otra forma de implementar esta ejemplo no dudes en compartirla, y así poder compartir opiniones sobre el tema.

¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips de JAVA que hemos estado publicando en este blog, dando clic aquí.
  
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: FacebookTwitterYouTube y Google+

Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos. 
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...

No hay comentarios.