Creación de Reportes en Java - Parte I

En este post hablaba sobre la incorporación de iReport a NetBeans 6.0 con el plugin que sacaron los mismos desarrolladores de iReport (veáse para conocer el link de descarga y la instalación en NetBeans 6.0)

Ahora que ya tenemos incorporado iReport en NetBeans, vamos a ver como generar un sencillo reporte. (Nota: El plugin solo funciona con la versión final 6.0 de NetBeans)

HERRAMIENTAS UTILIZADAS

  • NetBeans 6.0 con plugin de iReport instalado
  • MySQL 5
  • El proyecto completo se puede descargar de aqui:

http://www.mediafire.com/?dz9cxgtigzt

http://www.mundobyte.net/archivos/Java_2007/Ejemplo_Reportes.zip

el archivo se llama Ejemplo_Reportes.zip

CREACIÓN DE LA BASE DE DATOS

Aunque si es cierto que adjunto tambien la carpeta del proyecto de NetBeans, obviamente que es recomendable realicen este ejercicio por cuenta propia pues les servira como práctica.

El script sql esta adjunto en la carpeta bajo el nombre de addressbook.sql, y contiene una simple y sencilla tabla a modo de ejemplo para este ejercicio.

Para ejecutar dicho script y crear la base de datos, basta con entrar a la línea de comandos de MySQL y escribir:

source C:\addressbook.sql

donde obviamente deben sustituir la ruta por donde se encuentra tal fichero. Si se tiene la herramienta MySQL Administrator, se puede restaurar el backup de este script sql. Con esto ya tendremos la BD creada.

Connections/DataSources

Una vez instalado el plugin y creada la BD, vamos a establecer la conexión a la Base de Datos por medio de JDBC pero antes de eso, debemos establecer el classpath donde se encuentra el driver JDBC para nuestro DBMS, en este caso el driver Connector/J

En el menú Tools–iReport Classpath agregamos el fichero jar del driver y con esto ya podemos pasar a establecer la Conexión a la BD.

Vamos al menú Data y pulsamos sobre el botón New para agregar una nueva conexión. Aparecera una ventana como la mostrada en la imagen.

DataSource_Ireport

Tenemos varias opciones las cuales no explicaré (además que no he usado todas). Usaremos una conección JDBC que es la que debemos usar para conectarnos a DBMS como MySQL, PosgreSQL, Oracle, entre otros más, por lo cuál seleccionaremos la primer opción “DataBase JDBC Connection”.

Posteriormente pasaremos a otra ventana en donde debemos establecer algunos parámetros como el Driver JDBC y el URL de dicho driver, NetBeans ya nos da una lista de esto, así que solo nos limitamos a escribir el usuario y contraseña de acceso a la BD. Podemos probar si la conexión esta bien establecida presionando el botón Test con el cuál obtendremos un mensaje de éxito en caso de haberse conectado a la BD o uno fallido en caso contrario.

datasource2_ireport.png

Una ves guardados los cambios, aparecera en NetBeans el diseñador visual de iReport. Tendremos un área dividida varias regiones, PageFooter, columnFooter, columnHeader, etc. Para más información referente a cada una de ellas puede visitar el siguiente tutorial, aunque maneja una versión algo vieja de iReport sirve como referencia o bien, se puede buscar más información en internet.

Para este ejemplo, solo vamos a utilizar las regiones de title, pageHeader, columnHeader, detail y pageFooter, por lo cuál deberemos ocultar las demás estableciendo un valor de 0. En uno de los paneles izquierdos que hay en NetBeans encontraremos algo como lo que muestra la siguiente imágen.

parametros_ireport.png

Por lo tanto, deberemos seleccionar las regiones sobrantes y en el panel de propiedades que esta en el lado derecho, debemos establecer el valor de Band height a 0 y con esto notaremos que desaparecerá dicha región en el área de diseño.

Una vez hecho lo anterior, solo deberemos tener en el área de diseño las 5 regiones mencionadas con anterioridad.

Podemos observar que en el panel derecho tenemos una pequeña paleta de componentes. Entre ellos el Static Text y Text Field.

La diferencia entre ámbos es que el Static Text es en si como su nombre lo dice, “Texto Estático”, es decir, nos va servir para poner los rotulos y titulos de nuestros reportes. En cambio, el Text Field sirve para mostrar los resultados de la consulta a la Base de Datos para generar nuestro reporte.

Antes de hacer el diseño, primero vamos a establecer la consulta y a definir las variables necesarias. En el menú File–Report query deberemos escribir la consulta SQL. Haga click en la figura de abajo para ver su tamaño original y observe la sencilla consulta SQL y el resultado que nos genera en la parte de abajo. Realice esto mismo y al término presione el boton de OK.

query_ireport.png

En el panel de la izquierda de iReport, veremos que al desplegar la opción de Fields, tendremos los campos que deseamos obtener con la consulta SQL. En este caso, tendremos name, telefono, email.

Ahora ya estamos listos para diseñar el reporte. En la segunda parte de este breve tutorial veremos como hacerlo.

17 Responses to “Creación de Reportes en Java - Parte I”

  1. [...] de Reportes en Java - Parte II Publicado el Enero 6, 2008 por windoctor En la primer parte de este tutorial establecimos los parámetros necesarios para el diseño de nuestro reporte con [...]

  2. [...] Comentarios Recientes windoctor en Creación de Reportes en Java …HUGO HERNANDEZ en Creación de Reportes en Java …Drawsoek en Bases de datos web fácilmente…Creación de Reporte… en Creación de Reportes en Java …Creación de Reporte… en Creación de Reportes en Java … [...]

  3. [...] Recientes NetBeans 6.0 + iRepo… en Creación de Reportes en Java …windoctor en Creación de Reportes en Java …HUGO HERNANDEZ en Creación de Reportes en Java [...]

  4. Excelente felicidades…

  5. Estuve checando el tutorial y lo empece a aplicar, pero me trabe en una parte: cuando le doy click en tool-iReport Claspath no me aparece nada, espero k me ayuden

  6. Lo que dice en el tutorial es que debe agregar el fichero .jar correspondiente al driver JDBC de MySQL. Lea bien el tutorial, ahi le indica que debe descargar dicho driver de la dirección:

    http://www.mysql.com/products/connector/j/

    UNa vez que termine con éxito esta primer parte, puede psar a la segunda y tercera parte del tutorial.

    saludos!!

  7. hola, sigo atorado todavia en la parte del tutorial k dice Connections/DataSources le doy click y no me aparece nada, agregue el driver con Services y ya esta conectada la Base de Datos, le doy click en tool-iReport Claspath y me sigue sin aparecer nada…porfa me urge saber hacer reportes

  8. Sigo todavia atorado, le doy click en Connections/DataSources pero no me aparece nada, ya baje el conector y lo instale con la pestaña SERVICES y la la BD ya esta conectada, le doy click en el tool-iReport Claspath y me sigue sin aparecer nada.

  9. Mis respetos mi hermano mis respetos demasiado bueno el tutorial me quito el sombrero ante usted y no solo eso la pagina esta super excelente demasiado buena pero buena estuve dando vueltas por ella y me intereso el ejemplo de rmi lastima que no le hiciste un tutorial igual a este pero mis respetos esta sobrado.

    Gracias

  10. no pude hacer el reporte, me pasa igual que al tipo de arriba,
    me sale este error cuando quiero darle test a la conexion:
    ClassNotFoundError!
    Msg: com.mysql.jdbc.Driver
    Possible not found class: com.mysql.jdbc.Driver

    ojala y puedas ayudarme por q necesito mucho sacar el reporte

  11. Pues lo único que pasa es que no encuentra el driver JDBC para mysql. Solamente revisen que estan haciendo todo correcto paso por paso, y que han agregado el driver a su proyecto ó verificar que MySQL se esta ejecutando, para esto último basta con entrar a la linea de comandos y teclear:

    mysql -u root -p password

    y si logran entrar, entonces es el driver que no lo estan agregando correctamente.

    Por otro lado, como el tutorial lo decia, el plugin de iReport era una versión BETA, en febrero se tenia planeado salir la versión final. Aparecio otra version 6.01 de netbeans, visiten su página oficial y actualicen sus versiones (yo aun no lo hago).

    saludos!!
    saludos!!

  12. si era lo que tu decias, pero ahora no me aperece el diseñador visual de iReport donde me meto para que me aparezca, ojalá y puedas ayudarme……. saludos a todos ….. :-)

  13. Me aparece el mismo error:
    ClassNotFoundError!
    Msg: com.mysql.jdbc.Driver
    Possible not found class: com.mysql.jdbc.Driver

    Tengo instalado el conector para mysql (ya lo estaba usando en mi proyecto en la version anterior de Netbeans 5.5) y ahora lo instalé en la nueva version 6.0.1.
    De todas formas, no tengo ningún menú “Tools - iReport”, y he instalado el plugin para iReport. He llegado a la ventana del dibujo desde “Tools -> Report Datasources -> New”.
    Tampoco tengo ningún menú “Data”.
    ¿¿Por qué???

  14. Hola:

    …Para más información referente a cada una de ellas puede <>…

    citas un tutorial, ¿cuál?

  15. Hola,

    NO cito ningún tutorial x ke no me base en ningún tutorial, fue algo que aprendi a hacerlo con iReport hace muchos meses y ahora que salio el plugin para netbeans fue realmente fácil hacerlo.

    saludos!!

  16. Saludos,

    Pero no me quiere reconocer el driver de MySQl y yo hago bien mi conexion desde la aplicacion que podria hacer en este caso?

    Gracias

  17. Hola a todos!
    Para los que les ha salido el problema de
    ClassNotFoundError!
    Msg: com.mysql.jdbc.Driver
    Possible not found class: com.mysql.jdbc.Driver

    O problemas con los path, asegurense de dejar el driver jdbc (el .jar que bajaron desde mysql) en el directorio lib/ de la maquina virtual de java que esten ocupando.

    Ahora, mi consulta windoctor… en mi proyecto tengo unas clases Dao para acceder a los datos. ¿Sabes como puedo hacer uso de estas clases y no hacer directamente las consultas a través del jdbc?
    Agradecido por la respuesta!
    Saludos!
    Roberto

Leave a Reply