jasperreports y ireport
TRANSCRIPT
Creación de reportes en JAVA con múltiples formatos
usando JasperReports y iReport
Frecuentemente o siempre, cuando hacemos un proyecto sobre un sistema, los
clientes desean ver reportes sobre los datos que se generar en dicho sistema, por
lo general, estos datos se encuentran almacenados en una base de datos.
Si han tenido que hacer reportes de 7 o más columnas, sabrán que no es tan sencillo
como pudiésemos pensar. Muchos desarrolladores comentan que es lo más sencillo
que hay ya que a lo mucho, 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 los datos a los objetos que vamos a usar y aún menos el formatearlos
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.
El asunto se complica cuando 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.
JasperReports es un API OpenSource 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, imágenes, 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
basada en NetBeans (que de hecho la interface es casi la misma) y la otra es como
un plugin para NetBeans.