Skip navigation

Category Archives: java

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.

Anuncios

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.

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.