Logo

miércoles, 25 de mayo de 2011

IREPORTS


Siempre, es deseable ver reportes sobre los datos que genera el sistema y, en ocasiones, se encuentran almacenados en nuestra base de datos. En reportes de 7 o más columnas no es tan sencillo. Por lo general nos tardaremos media hora en "crear el query" para obtener los datos que necesitamos.

 Si bien esto podría ser cierto en la mayoría de los casos, lo que no siempre es fácil es mapear estos datos a los objetos que vamos a usar y aún menos el formaterarlos de manera que nuestro reporte sea fácil de entender y le proporcione al cliente la suficiente información como para que este le sea de utilidad.

 Es complicado nos piden reportes en formatos distintos al texto plano o HTML (en el caso de los sistemas web) como por ejemplo PDF, CSV, XLS, RTF, etc., ya que estos formatos no son manejados de forma nativa por Java


Podríamos usar iText para crear los reportes en PDF, JExcelAPI para los XLS, y así sucesivamente. Sin embargo estas APIs no trabajan de la misma forma, por lo que primero tendríamos que aprender a usar cada una de ellas además de que, en la mayoría de los casos, toda la información del formateo de los datos se encuentra en código Java duro, por lo que cualquier cambio requiere primero identificar entre nuestra maraña de código dónde se encuentra la sección que necesitamos modificar y posteriormente hacer este cambio.

 Afortunadamente existe una alternativa para la creación de estos reportes: JasperReports que es un API que nos permite generar reportes en formatos PDF, XML, HTML, CSV, XLS, RTF, y TXT con solo unas cuantas líneas de código y guardar este reporte en un archivo, enviarlo por un OutputStream, o mostrarlo directamente con un visor especial (si usamos una aplicación swing).

 Además nos permite integrar en nuestros reportes cosas como gráficas de todos tipos, tablas cruzadas, y subreportes para poder mostrar mejor nuestros datos.

 Por si fuera poco los creadores de JasperReports nos proporcionan también un editor WYSIWYG para crear toda la parte visual de los reportes (formatos, posiciones, tipos de letra, estilos, imagenes, decoraciones, etc.) llamada iReport, la cual es un complemento perfecto para JasperReports. iReports se encuentra en dos versiones, una es como una aplicación standalone básada en NetBeans

Para ver la configuracion de IReports usaremos una base de datos MySQL pruebaReportes creada en este  post 

Un inmejorable tutorial para iniciarse con Iireports y Jasper esta en JavaTutoriales 

1 comentario:

  1. Después de darme golpes con Apache POI para exportar a excel casi me arrodillo al ver lo fácil que es con Jasper Reports.

    ResponderEliminar