Cristhian.Herrera@gmail.com / cherrera@kruger.com.ec Cuento con experiencia en el rea de desarrollo de software y en la docencia acadmica. Dentro de la construccin de software he manejado las etapas de: anlisis, diseo, personalizacin e implementacin de aplicaciones bajo ambientes Cliente / Servidor e Internet. Ver todos los tutoriales del autor Fecha de publicacin del tutorial: 2005-04-29 Tutorial visitado 286.864 veces Descargar en PDF Introduccin a iReport La herramienta iReport es un constructor / diseador de informes visual, poderoso, intuitivo y fcil de usar paraJasperReports escrito en Java. Este instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imgenes, subinformes, etc. iReport est adems integrado con JFreeChart, una de la biblioteca grficas OpenSource ms difundida para Java. Los datos para imprimir pueden ser recuperados por varios caminos incluso mltiples uniones JDBC, TableModels, JavaBeans, XML, etc. Caractersticas de iReport La lista siguiente describe algunas de las caractersticas importantes de iReport: 100% escrito en JAVA y adems OPENSOURCE y gratuito. Maneja el 98% de las etiquetas de JasperReports Permite disear con sus propias herramientas: rectngulos, lneas, elipses, campos de los textfields, cartas, subreports (subreportes). Soporta internacionalizacin nativamente. Browser de la estructura del documento. Recopilador y exportador integrados . Soporta JDBC. Soporta JavaBeans como orgenes de datos (stos deben implementar la interface JRDataSource). Incluye Wizards (asistentes) para crear automticamente informes . Tiene asistentes para generar los subreportes Tiene asistentes para las plantillas. Facilidad de instalacin. Instalacin de iReport El iReport viene como un archivo comprimido. Esto contiene los archivos de distribucin principales (clases y fuente), algunas plantillas para el ayudante (wizard), todos los .jar requeridos adicionales. Esta herramienta trabaja de manera integrada con el jasperreport, por lo tanto no se requiere una instalacin adicional de jasper. El archivo puede descargarse desde http://sourceforge.net/projects/ireport/ Prerrequisitos Necesitar disponer de lo siguiente: Apache Ant IReport Jassperreport-0.x.x (usar la versin que viene incluida con iReport)
Instalacin y configuracin del ambiente de trabajo Instalacin de ANT Descargar la versin apache-ant-1.6.2-bin.zip o superior. Descomprimir el archivo zip. Crear un directorio con el nombre ANT_HOME o ANT. En el directorio raiz. C:\. Copiar el contenido de Ant en la carpeta creada. Configurar las variables de entorno: 1. ANT_HOME = C:\ANT_HOME o ANT_HOME = C:\ANT 2. JAVA_HOME = C:\ jdk1.5.0 3. PATH = C:\ANT\bin Instalacin de iReport. Descargar la version iReport-0.3.2.zip o superior. Descomprimir el archivo zip Crear un directorio con el nombre iReport en el directorio raiz C:\. Copiar en contenido del iReport en la carpeta creada. Copiar el archivo tools.jar que se encuentra en C:\ jdk1.5.0\libdel jdk al directorio C:\iReport\lib Colocar el Driver classes12.jar de oracle en el directorio C:\iReport- 0.2.2\lib (Aplica para cualquier driver JDBC que necesitemos) Configurar las variables de entorno: 1. CLASSPATH: C:\iReport\lib\jasperreports-0.6.0.jar. 2. CLASSPATH: C:\iReport\lib\itext-1.02b.jar (este archivo es para el uso de archivos pdf) Finalmente deber compilar los fuentes. Para esto ubquese en C:\iReport y ejecute el comando ant
Levantando el iReport Para levantar la aplicacin del iReport, debe dirigirse hasta el lugar donde descomprimi los archivos, ah ejecutar el comando iReport.bat como se muestra en la siguiente figura:
Otra forma de levantar la aplicacin es a travs de ANT, para ello se debe abrir una ventana de cmd, ubicarse en la ruta donde se encuentra instalado el iReport, ej : C:\iReport y colocar el comando ant iReport, como se muestra en la siguiente figura:
La interfaz grfica de iReport comienza a cargarse:
Configurar las opciones: Ir a Tools Options
Para configurar el idioma: ir a Tools Options
Luego presionar Apply y por ltimo Save. Notaremos como el idioma de la barra de herramientas ha cambiado en funcin de nuestra eleccin.
Para empezar con iReports: Seleccionar Project New
Seleccionar File New Document
Aqu deber definir el nombre del reporte, tamao de la pantalla, orientacin, mrgenes, etc. La apariencia del layout (plantilla) de la pgina del reporte es la siguiente:
Donde:
title Aparece slo al inicio del reporte. El ttulo se escribe en est seccin. Ejemplo: Reporte de Desempeo de los empleados pageHeader Aparece en la parte superior de cada pgina. Puede contener informacin como la fecha y hora, nombre de la organizacin, etc. columnHeader Sirve para listar los nombres de los campos que se van a presentar (desplegar). Por ejemplo: Nombre del Empleado, Hora de Entrada, Hora de Salida, Horas trabajadas, Fecha, etc. detail En esta seccin se despliegan los valores correspondientes a las entradas de campos definidas en la seccin anterior. Por ejemplo Juan Perez, 09:00, 18:00, 9,2005-04-27 columnFooter Puede presentar informacin sumarizada para cada uno de los campos. Por ejemplo Total de Horas Trabajadas: 180 pageFooter Aparece en la parte inferior de cada pgina. Este parte puede presentar, el contador de pginas como Pgina 1/7 summary Esta seccin se usa para proporcionar informacin sumarizada de los campos presentes en la seccin detail por ejemplo para el caso de las horas trabajadas de cada empleado se puede definir un objeto grfico tipo pie para tener una mejor comparacin y comprensin visual de los datos.
Los objetos de texto, imgenes, etc pueden ser colocados en la plantilla del documento usando el mtodo de arrastrar y pegar.
Para insertar texto puro usar:
Para insertar campos (Fields) usar:
Para insertar imgenes usar:
Cuando insertamos un objeto de texto lo haremos arrastrando el elemento hasta el lugar del documento donde queramos visualizarlo. Seguidamente se presionar clic derecho para editar las propiedades del objeto y as poder definir los valores de fuente, bordes y el contenido mismo del texto.
A medida que insertemos objetos de texto (estticos y campos dinmicos), nuestro reporte empezar a definir la apariencia visual que buscamos.
Los documentos que se generan con iReports + jasperreports tienen varios valores que son seteables o configurables, estos son parmetros, campos (Fields) y variables:
a)Parmetros: son valores generales como el titulo del reporte / subreporte, ubicacin, autor, etc. b)Campos (Fields): son los campos tipo texto que llenaremos desde las consultas lanzadas a la aplicacin durante la ejecucin del reporte. c) Variables: una variable es un valor calculado como una sumatoria. Para definir los parmetros se tiene que pulsar el botn Parameters desde la barra de herramientas
Los objetos de tipo TextField, deben definir un campo field en su vieta de propiedades y deben usar el key textField. En general debe configurarse como se indica en las siguientes pantallas.
Una vez que hemos terminado de diagramar nuestro reporte, debemos compilar y luego ejecutarlo. La herramienta nos permite tener una vista previa en varios formatos de la apariencia de nuestro documento.
Una vez compilado, se tiene que ejecutar el reporte. Para esto iremos a Build Execute Report
Observamos que cuando no definimos un datasource los campos aparecen como null. Conexin con la Base de Datos. Seleccionar DataSource--> Connection/DataSource-->New
Name: Escribir el nombre de la base de datos. JDBC Driver: Seleccionar el Driver de la base de datos con la cual se realizar la conexin. JDBC URL: escribir la direccin URL de donde se encuentra alojado el ambiente de trabajo de la base de datos. Especificar la cadena de conexin con la base de datos, colocar usuario y password. Salvar la configuracin de la conexin.
Presionar el botn Test, para verificar que la conexin este correcta, para la cual deber aparecer la siguiente ventana:
Para seleccionar la conexin configurada: Ir al Men y seleccionar Build Set Active Connection. Aparecer una pantalla como la que se muestra a continuacin:
Incluir clases en iReport Pasos para incluir un clase java en el iReport: Agregamos nuestros campos de la Base de Datos:
Creamos la clase que vamos a utilizar: CalculosFecha.java import java.sql.*; import java.util.*; import java.text.*; import net.sf.jasperreports.engine.*;
public class CalculosFecha extends JRDefaultScriptlet { public static String user = "xxxxxx"; public static String pasw = "xxxx"; public static String driver = "oracle.jdbc.driver.OracleDriver"; public static String url = "xxxxxx"; public static ResultSet rs = null; public static Statement st = null; public static Connection cn = null; public static PreparedStatement pst = null; public static int per=0;
/* Datos del Reporte */ public String hello() throws JRScriptletException { return "Mi Primera clase"; } } Le indicamos que vamos a usar una clase: Uses this Scriplet class.. Le colocamos el nombre de la clase: CalculosFecha (en este caso)
Agregamos la descripcin de la clase en el iReport: TextField Expresin:((CalculosFecha)$P{REPORT_SCRIPTLET}).hello()
Compilamos desde mi servidor web, porque si lo hago directamente del iReport me dara error. Entonces lo compilos desde el WEB-SERVER.
Fuentes: Documentacin de iReports Documento de Delia Medina, Manual de iReports
A continuacin puedes evaluarlo: Regstrate para evaluarlo Por favor, vota +1 o comprtelo si te pareci interesante More Sharing ServicesShare|Share on facebookShare on twitterShare on linkedinShare on emailShare on favoritesShare on print Anmate y comntanos lo que pienses sobre este TUTORIAL:
Registrate y accede a esta y otras ventajas Fecha publicacin: 2011-09-21-17:57:15 Autor: mally como hacer en un reporte se pueda mostrar todo lo de obseravciones ya que en ocaciones es mui necesario agregar mas informacion pero no semuestra del todo solo una parte Fecha publicacin: 2011-02-07-16:24:16 Autor: phantom Hola me parecio muy bueno este tutorial rapido...Les hago una pregunta creo que tal vez simple.Como deberia hacer para que un textField creciera dinamicamente.Por ejemplo en un reporte de factura el cual tiene una campo detalle. El problema que tengo es que cuando ese detalle excede el tamao del textField no me muestra todo sino lo que entra digamos en el textField Fecha publicacin: 2009-07-21-03:36:10 Autor: [loquillo] Hola lo que debes validar es que el formato de tu fecha sea "dd / mm / aaaa" utilizando como separador el "/", lo otro es que el query lo pruebes en el motor que estas utilizando (sql,oracle,mysql,etc...), ya que si generas el query automatico desde el jasper te pone crenillas en los campos, lo otro que te debes fijar en validar, es que tus parametros y variables sean del mismo tipo en el formulario y en la query ej (string), espero te sirva. Fecha publicacin: 2009-05-25-04:23:58 Autor: [juan manuel] esta bueno pero me gustaria saber un poco mas porque tengo una clase en java para compilar y llenar el reporte pasandole parametrso de fechas y uno numerico y me marca errores, si me pudieran ayudar se los agredeceria mucho. ANIMO y gracias Fecha publicacin: 2007-11-24-07:33:15 Autor: [ELVIS ALARCON ROJAS] ES MUY BUENO EL MANUAL . ES UNA ESTUPENDA APORTACION PARA LA GENTE DE JAVA Fecha publicacin: 2006-11-07-12:45:19 Autor: [hectoryelpan] Hola de nuevo, ya he conseguido arreglarlo, lo posteo por si a alguien le interesa, solamente teneis que aadir despues de la lnea "response.setContentLength(bytes.length);" la siguiente orden: "response.encodeURL("/nombreJSP.pdf"), as funciona tanto en Explorer como en Firefox. Fecha publicacin: 2006-11-07-12:13:37 Autor: [hectoryelpan] Hola, a mi me parece un tutorial excelente, sin tener ninguna idea de JasperReports ni iReports he conseguido crear dinmicamente pdfs desde una aplicacin web, el problema es que el cdigo solo me funciona en Firefox, con Explorer me devuelve codigo ASCII en lugar de un PDF, Alguien sabe como puedo arreglar esto? Me sera de mucha ayuda, si alguien lo sabe que por favor me escriba al mail. Gracias. Fecha publicacin: 2006-10-13-04:55:25 Autor: [fabiola] en el irepor hay un codigo de barra llamado barcode como lo puido utlizar para wqeu melo imprima en mi reporte y le puda pasar los parametos hay que darle una fuente o que porque memarca por de faul "128" como pudeo midificarlo Fecha publicacin: 2006-09-10-08:13:43 Autor: [israel rangel] como puedo agregar el bac code de codigode barra en el irepor para que me lo reconosca cundo lo compile agragando,los campos requeridos Fecha publicacin: 2006-09-10-08:10:07 Autor: [israel rangel] como puedo agregar el bac code de codigode barra en el irepor para que me lo reconosca cundo lo compile agragando,los campos requeridos Fecha publicacin: 2006-08-31-03:34:02 Autor: [hola] me parece un buen tutorial. bueno io soy nuevo utilizando ureport de echo primerizo utilizando ireport pero kisiera saber como `puedo llamar utilizar ireport y los reportes ke yo genere y llamarlo desde aplicaciones normales porke el tutorial parece enfocarse a hacer reportes con aplicaciones web pero no para aplicaciones normales de ventana Fecha publicacin: 2006-08-01-10:09:49 Autor: [Ivan] A mi me ha resultado muy util. No se porque a la gente no le gusta. Es necesario entender minimamente de que va JasperReports, pero esta muy bien. Fecha publicacin: 2006-07-25-10:48:50 Autor: [Antonio] Me parece que intenta decir muchas cosas en poco tiempo. Me ha sido poco util ya que no me ha funcionado casi nada de lo que dice. Fecha publicacin: 2006-06-14-11:30:06 Autor: [LUIS MARTINEZ] hola, pienso que le falta mas detalle al reporte Fecha publicacin: 2006-06-12-10:21:19 Autor: [Ruth] El tutor me parece excelente!!. Una sugerencia extendiendo este tutorial..Cmo se podra implementar iReport con BEA Weblogic Workshop?... Desde ya Gracias. Esta obra est licenciada bajo licencia Creative Commons de Reconocimiento- No comercial-Sin obras derivadas 2.5