Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
HERRAMIENTAS UTILIZADAS
NetBeans 6.7.1
Plugin iReport para NetBeans 3.6.0 Descargar iReport-nb-3.6.0-plugin.zip
MySQL 5
INSTALANDO IREPORTS
Buscamos la carpeta los archivos que acabamos de descomprimir, los agregamos e instalamos y
finalmente cerramos.
Queda Netbeans listo para hacer reportes.
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. Dicho conector viene por defecto con NetBeans.
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 segunda opción “NetBeans DataBase JDBC Connection”.
Posteriormente pasaremos a otra ventana en donde debemos seleccionar la conexión que previamente
establecimos en NetBeans
Diseñando el Informe
Una vez guardados los cambios deberemos agregar un archivo visual para diseñar nuestro reporte, para ello
vamos al “source package” (Paquete de fuentes) y agregamos un “Empty Report” (si no aparece en la lista,
lo buscamos en otros). Al hacer esto, 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.
Una vez hecho lo anterior, solo deberemos tener en el área de diseño las 5 regiones
mencionadas con anterioridad.
Reportes con iReport Atreves de Netbeans Por: Javier Estupiñan
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.
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 id, código, nombre, etc…
Ahora ya estamos listos para diseñar el reporte. En la segunda parte de este breve tutorial veremos como
hacerlo.
La región details es la que contendrá los datos que devuelva la consulta SQL, por lo tanto, es de suponerse
que estos deberán ser componentes Text Field y no Static Text.
Para insertar los componentes, los seleccionamos del panel derecho presionando con el mouse y sin soltarlo,
arrastramos al área de diseño. Al igual que pasa con los controles SWING, al seleccionar un componente
tenemos el panel de propiedades, así podemos modificar el color, tamaño y tipo de fuente. Entendido esto,
procedemos a realizar un diseño similar al mostrado por la figura:
Reportes con iReport Atreves de Netbeans Por: Javier Estupiñan
Al agregar un Text Field a nuestra área de diseño, observaremos que tienen el texto de $F{field} .
Deberemos cambiar la palabra “field” que se encuentra dentro de las llaves y poner el nombre de los
campos que nos devolverá la consulta SQL. Si a estas alturas hay aún algún despistado que no sabe de lo
que hablo, me refiero a los campos de la consulta SQL que hicimos:
Y estos campos son los que encontraremos en el panel izquierdo al desplegar la opción de Fields. Ahora
bien, para asignar esos campos a los Text Fields, basta con dar doble click al Text Field y editarlo ó bien
seleccionar el TextField y en el panel de propiedades ir a la propiedad Expression y ahi cambiar el valor.
Las cajas de texto que estan en la región de pageFooter son para indicar el número de página, pongo a
continuación el valor de las dos Text Field en caso de no identificar bien lo que esta escrito en la imágen.
“Page ” + $V{PAGE_NUMBER} + ” of “
“” + $V{PAGE_NUMBER}
Con esto, si hemos hecho todo correctamente, ya podemos tener una vista de nuestro reporte, así que
podemos ir al menú Designer y ejecutar el reporte con Run report.
Depues clik derecho en biblitecas y agragar archivo JAR/ Carpeta y buscamos nuestro archivos y
los añadimos todos. (Ya no hay errores por importación de archivos solo la alerta por no usarlos pero
eso se quitara mas adelante).
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectString, user, password);
parameters.put("REPORT_LOCALE",new java.util.Locale("es","CL"));
parameters.put("parametro1","Hola Mundo!");
JasperDesign jasperDesign = JRXmlLoader.load(filejasper);
//Compilar el Reporte.
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
//Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,
getConnection());
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Hay datos no validos, Revise y calcule
nuevamente","Validacion de campos",JOptionPane.WARNING_MESSAGE);
}
}
imprimirReporte();
El archivo .jrxml lo estoy llamado desde la ruta c:/ por lo tanto debemos copiar el archivo en esta ruta, si solamente
quieren dejarlo dentro del programa quitamos el c:/ lo que quiere decir que lo buscara dentro de la carpeta donde
se genera proyecto .