Skip navigation

Category Archives: tecnología

Debido a que estoy inmerso en un nuevo proyecto y en una nueva empresa, tengo que deciros que no actualizaré el blog hasta pasadas unas semanas. Espero adaptarme rápido al nuevo entorno de trabajo para poder poner más entradas sobre los temas que estoy tratando y sacar nuevos. Por ahora os dejo sólo un nombre DSpace, un gestor de contenidos web desarrollado en Java que se utiliza mucho en las universidades y grandes bibliotecas.

En anteriores entregas hemos visto como generar un informe con la herramienta gráfica iReports. Para que podamos utilizar este reporte desde varios entornos en este cápitulo simplemente mostraremos desde nuestra aplicación en java el reporte o informe generado anteriormente mediante iReports. Podemos utilizar nuestro IDE preferido como Eclipse o netBeans, o bien la línea de comandos. En nuestro caso utilizaremos netBeans por comodidad. Creamos un proyecto y agregamos estas librerías al classpath del proyecto:

  • jasperreports-2.0.4.jar
  • commons-digester-1.7.jar
  • commons-logging-1.0.2.jar
  • commons-collections-2.1.jar

Una vez hecho esto, creamos un clase y añadimos estas líneas:

try{
// Conexión con la base datos
String jdbcDriver = “oracle.jdbc.driver.OracleDriver”;
Class.forName(jdbcDriver);
String url = “jdbc:oracle:thin:@10.10.1.183:1521:dbprac”;
String user = “user1”;
String pass = “12345”;

Connection con = DriverManager.getConnection(url, user, pass);

JasperReport jasperReport;

Connection con = DriverManager.getConnection(url, user, pass);

// espeficar dónde se encuentra el archivo .jasper
String fullPath=”c://report3.jasper”;

//jasperReport = JasperCompileManager.compileReport(“c://report3.jrxml”);
// rellenar el reporte
JPrint=JasperFillManager.fillReport(fullPath,null,con);
// ver el reporte
JasperViewer.viewReport(JPrint,false);
}
catch(Exception ex){
System.out.println(ex.toString());
}

De esta manera hemos recogido la plantilla y la hemos rellenado con los datos de la base de datos que hemos configurado mediante JDBC. Si te fijas en la línea

//jasperReport = JasperCompileManager.compileReport(“c://report3.jrxml”);

se puede compilar el archivo .jrxml y seguir aplicarle la función fillReport al fichero obtenido.

Hace poco, tuve que desarrollar una aplicación web que consistía en generar documentos resúmenes (o extractos) basados en otros documentos. El sistema era más complicado ya que utilizaba el gestor de documentos Alfresco para la búsqueda trozos de texto que luego se pondrían en el documento final, pero lo que más difícil me resultó fue lidiar con el API que provee Sun para el manejo de documentos de formato abierto como los ODT de OpenOffice.

Al que le haya tocado programar con esta API sabrá a qué me refiero. En los próximos días escribiré algo sobre este tema y pondré unos ejemplos para poder practicar.

Continuando con este tutorial, aprenderemos en esta parte a generar un archivo .jasper, ayudados por iReports (versión 3.1.1) , que es el que luego usaremos en nuestro código. Antes que nada, vamos a crear una conexión a un esquema de base de datos, en nuestro caso al esquema dbwork. Pincharemos en Tools >> Report datasources y luego hacemos clic en New. En el siguiente cuadro modal seleccionamos la opción JDBC Connection. Una vez tengamos los datos completados podremos probar la conexión con la base de datos.

Conexión a fuente de datos mediante jdbc

Conexión a fuente de datos mediante jdbc

Problema: si en el apartado JDBC Driver no aparece oracle.jdbc.driver.OracleDriver significa que no encuentra el driver de Oracle. Solución: descargar el driver y copiarlo en la carpeta <iReports_home>\ireport\libs.

Una vez tenemos esto vamos a seguir con la creación de una plantilla utilizando un asistente, para eso hay que ir a File >> Report Wizzard. Daremos nombre al informe y pasaremos a la sección de consulta SQL donde tendremos tres opciones:

  • Escribir la consulta SQL directamente.
  • Utilizar el editor grafico que nos proporciona iReports.
  • Cargar una consulta almancenada.

En los siguientes pasos configuraremos algunos parámetros que tienen que ver con el layout en la página resultante. Una vez terminemos el proceso nos quedará algo así. 

plantilla final

plantilla final

Podremos ver el xml que genera pinchando en la pestaña xml y ver el resultado de la consulta en la pestaña Preview

Resultado de la consulta

Resultado de la consulta

En esta entrada introduciré el tema de generación de informes con la herramienta Jasper Reports, un tema que es de vital importancia a la hora de poder tener informes personalizados sobre los datos que manejamos. Estos informes serán de tipo página y podrán ser convertidos a otros formatos como PDF, XLS o CVS entre otros, y preparados para poder imprimirlos.
Los pasos esenciales para generarlos son:

  • Generar la plantilla (archivo .jrxml) con el diseño inicial del informe
  • Compilar la plantilla y extraer el archivo resultante .jasper
  • Rellenar la plantilla con los datos y guardarla en el formato que queramos.

Para generar la plantilla vamos a ayudarnos de la herramienta iReports, que básicamente es un editor gráfico que nos sirve para generar el archivo .jrxml y compilarlo a .jasper. Con iReports podemos enlazar directamente la base de datos que vamos a utilizar así que todo será más intuitivo y sencillo, si tenemos en mente un plan no demasiado avanzado. En el próximo capítulo empezaremos utilizando iReports para generar una plantilla y utilizaremos Oracle como sistema de gestión de bases de datos.