Guia Creacion de Reportes Con JasperReports

48
 Módulo II Tema 05: Reportes en iReport Docente: Ing. Henry Mendoza Puerta [email protected] Blog: http://hampprogramandoando.bl ogspot.com/  Facebook:  https://www.facebook.com/pages/Programando- Ando/184966181653042?ref=hl  Google +: https://plus.google.com/communities/106679300331219307784 

Transcript of Guia Creacion de Reportes Con JasperReports

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 2/47

Módulo II

20131

JasperReports

JasperReports es la mejor herramienta de código libre en Java para generar reportes.

Puede entregar buenas presentaciones o diseños en pantalla, para la impresora o para

archivos en formato PDF, HTML, RTF, XLS, CSV y XML. Está completamente escrita enJava y se puede utilizar en una gran variedad de aplicaciones de Java, incluyendo J2EE

o aplicaciones Web, para generar contenido dinámico.

IReport

iReport es un diseñador visual de código libre para JasperReports escrito en Java. Es un

programa que ayuda a los usuarios y desarrolladores que usan la librería JasperReports

para diseñar reportes visualmente. A través de una interfaz rica y simple de usar,

iReport provee las funciones más importantes para crear reportes amenos en pocotiempo. iReport puede ayudar a la gente que no conoce la sintaxis XML para generar

reportes de JasperReports.

Funcionamiento de iReport

iReport provee a los usuarios de JasperReports una interfaz visual para construir

reportes , generar archivos “jasper” y “print” de prueba . iReport nacio como  una

herramienta de desarrollo , pero puede utilizarse como una herramienta de oficina

para adquirir datos almacenados en una base de datos , sin pasar a través de alguna

aplicación.

iReport puede leer y modificar ambos tipos de archivo ,XML y jasper. A través de

JasperReports, es capaz de compilar XML a archivos jasper y “ejecutar reportes” para

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 3/47

Módulo II

20132

llenarlos usando varios tipos de fuentes de datos (JRDataSource) y exportar el

resultado a PDF,HTML,XLS,CSV,..

Descargar iReport

Ir a la siguiente dirección , luego

te cargara la siguiente página, dar clic en el botón “Descargar diseñador IReport”.

Instalación de iReport

Solo mostrare la secuencia de imágenes del proceso de instalación.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 4/47

Módulo II

20133

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 5/47

Módulo II

20134

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 6/47

Módulo II

20135

Si sale el siguiente error.

Se debe configurar la variable JAVA_HOME.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 7/47

Módulo II

20136

Ingresamos a la consola de iReport.

Creando Tabla Clientes en Oracle

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 8/47

Módulo II

20137

Ingresando algunos datos

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 9/47

Módulo II

20138

Creación del reporte

Paso 1: Adjuntando driver de Oracle a iReport

Paso 2: Estableciendo conexión a la Base de Datos

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 10/47

Módulo II

20139

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 11/47

Módulo II

201310

Paso 3: Agregando nuevo archivo, para diseñar el reporte sin asistente

Dar clic en el botón “Open this template” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 12/47

Módulo II

201311

Descripción de cada bloque de un reporte

Title: El titulo de nuestro reporte debe escribirse en esta sección. Solo se mostrara en

la primera pagina del reporte.

pageHeader: Aparece en la parte superior de cada pagina. Puede contener

información adicional del reporte, descripciones, etc.

columnHeader: En esta sección se muestran los nombres de los campos que se van a

presentar.

Detail: En esta sección se despliegan los valores correspondientes a los nombres de los

campos definidos en la sección anterior. Estos datos pueden obtenerse mediante

consultas SQL a una base de datos por ejemplo.

columnFooter: Puede presentar información de totales para algunos de los campos

de la sección detail.

pageFooter: Aparece en la parte inferior de cada pagina . Esta parte puede presentar ,

la fecha ,numero de pagina del reporte .

summary: Esta sección puede presentar totales de campos de la sección detail. Si se

desea incluir algún grafico en el reporte , debe hacerse en esta sección.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 13/47

Módulo II

201312

Diseño de Reporte

Agregando Static Text

Agregando Consulta

Dar clic en el botón “Query” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 14/47

Módulo II

201313

Dar clic en el botón “OK” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 15/47

Módulo II

201314

De la misma manera en que se agrego el titulo al reporte, deberá agregar los nombres

de los campos a la banda columnHeader utilizando Static Text tool

Fields : $F{Campo}; Variable:$V{Valor}; Parameters:$P{Parametro}

Compilacion y Ejecucion del Reporte

Compilacion:

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 16/47

Módulo II

201315

Ejecucion

Creando Aplicación

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 17/47

Módulo II

201316

Luego de crear el proyecto copiar la carpeta de librerías dentro de la estructura de tu

proyecto

Luego adjuntar las librerías a nuestro proyecto

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 18/47

Módulo II

201317

Dentro de la carpeta “src” del proyecto creamos la carpeta “reporte” en el cual

copiamos los archivos report1.jasper y. report1 jrxml generados en los pasos

anteriores

Luego copiamos la carpeta “conexionbd” dentro de la carpeta “src” de nuestro

proyecto.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 19/47

Módulo II

201318

Dentro de la carpeta “conexionbd”, se encuentra la clase “conexión”, cuyo codigo es

el siguiente

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 20/47

Módulo II

201319

Luego dentro de nuestro paquete “reporte”  agregaremos una clase llamada

“ReporteCliente”, Cuyo código es el siguiente

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 21/47

Módulo II

201320

Luego agregamos al proyecto un “JFrame Form”, de nombre frmReporte1

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 22/47

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 23/47

Módulo II

201322

En el código del formulario antes de su constructor se declara un objeto “ jasper” de

tipo “ReporteCliente”, y se instancia en el constructor del reporte .

 

Aca se hace la invocaicon del método “runReporte” que mostrara el reporte, esto en

el evento del boton

Al ejecutar el proyecto el resultado será el siguiente

Y al dar clic en el botón “Ver Reporte Cliente” se mostrara.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 24/47

Módulo II

201323

Creando Reporte que muestre un listado de Clientes filtrado por país de origen, para

lo cual modificaremos el reporte anterior.

Creando un parámetro con las siguientes característica

Modificando la sentencia SQL de la siguiente manera

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 25/47

Módulo II

201324

En el diseño del formulario agregamos una caja de texto: le colocamos de nombre

txtPais

Modificamos el codigo de la clase ReporteCliente, como se muestra a continuacion

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 26/47

Módulo II

201325

Y En el código del botón el código debe ser modificado como se muestra a

continuación

Al ejecutar el proyecto el resultado será el siguiente

Al dar clic en el botón “ Ver Reporte Cliente” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 27/47

Módulo II

201326

Creando SubReportes

Crear la base datos : bdmatricula y luego Restaurar el script

Diseñando Reporte

Creando nueva conexión a base de datos en MySQL:

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 28/47

Módulo II

201327

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 29/47

Módulo II

201328

Creando consulta para reporte :

Dar clic en el botón “Query Desing” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 30/47

Módulo II

201329

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 31/47

Módulo II

201330

Diseñando Reporte PADRE

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 32/47

Módulo II

201331

Creando SubReporte HIJO

Crea un nuevo archivo vacío y llámalo como HIJO.

Debes quitar los margenes del reporte para que no nos estorben cuando lo insertemos en el

reporte padre. Para hacer esto ve a menú FORMATO -> REMOVER MARGENES DE REPORTE.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 33/47

Módulo II

201332

Crea un parámetro de entrada que llamaras dni.

La instrucción SQL que utilizaremos es:

Crea el reporte como si se tratara de cualquier otro reporte

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 34/47

Módulo II

201333

UNIENDO TODO

Ve al reporte PADRE y en la paleta busca SUBREPORT , en versiones actuales el icono es

distinto, no importa, la cosa es que diga SUBREPORT  

arrastra este objeto al diseñador de reporte, aparece una nueva ventana, debes elegir

la opción “USAR UN REPORTE EXISTENTE”, busca y selecciona el archivo ”hijo.jasper” ,

presiona siguiente

En la siguiente ventana te muestra diferentes opciones de conexión, elige la primera, “USAR

LA MISMA CONEXIÓN…” . siguiente. 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 35/47

Módulo II

201334

En en esta ventana te pregunta por los parámetros que se utilizan en el subreporte, nosotros

solo utilizamos un parámetro de entrada llamado DNI, este parámetro debemos asignarle un

valor del reporte padre que lógicamente es el DNI del estudiante, entonces lo buscamos y

seleccionamos.

En el último paso, te pregunta de donde buscara el archivo JASPER. Nosotros colocaremos el

archivo JASPER PADRE y el archivo JASPER HIJO, en la misma carpeta, entonces seleccionamos

la opción “USE A STATIC ABSOLUTE PATH REFERENCE” . Presiona el botón Terminar .

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 36/47

Módulo II

201335

Acomoda el subreporte en el diseñador de reporte.

ejecuta el PREVIEW y si no tienes errores, debes ver algo como esto:

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 37/47

Módulo II

201336

Ahora haremos algunos cambios al proyecto, pero antes no olvides de copiar los archivos jrxml

y jasper generados, dentro de la carpeta reporte de tu proyecto. En primer lugar debemos

modificar la clase “conexión” ya que ahora esta se debe conectar a MySQL, como se muestra a

continuación.

Luego debemos adjuntar el Driver de MySQL a nuestro proyecto.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 38/47

Módulo II

201337

Luego en la clase “ReporteCliente” se modifica como se muestra a continuación

Y en el evento del botón:

Y el diseño del formulario

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 39/47

Módulo II

201338

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 40/47

Módulo II

201339

Creamos un reporte con grafico

Crear una base de datos “pedidos” y restaurar la BDPedidos. Y establecer una conexión con

dicha base de datos

Luego creamos un reporte con nombre “report1” 

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 41/47

Módulo II

201340

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 42/47

Módulo II

201341

Creamos un parámetro de nombre “fecha” 

Luego creamos nuestra siguiente consulta

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 43/47

Módulo II

201342

Probamos el reporte

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 44/47

Módulo II

201343

Luego en la sección “Summary” del reporte agregamos un control “Chart” 

Dar clic en el botón “OK” luego de seleccionar un tipo de grafico y luego en la siguiente

ventana dar clic en el botón “ Terminar”.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 45/47

Módulo II

201344

Selecciono el control, dar clic derecho y elegir la opción “ Chart Data” y configurar como se

muestra en la siguiente imagen.

Finalmente probamos el reporte y se debe ver asi:

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 46/47

Módulo II

201345

Ahora en nuestro proyecto debemos hacer los siguientes cambios para poder invocar a este

reporte. Antes no olvidar copiar los archivos jrxml y jasper a nuestra carpeta “reporte” 

Luego nuestra clase “ReporteCliente” debe modificarse como se muestra a continuación.

Y en el formulario se debe hacer el siguiente cambio en el diseño, agregamos una caja de texto

de nombre txtFecha.

7/24/2019 Guia Creacion de Reportes Con JasperReports

http://slidepdf.com/reader/full/guia-creacion-de-reportes-con-jasperreports 47/47

Módulo II

Antes de ejecutar el proyecto, no olvide cambiar en la clase “conexión” el nombre de la base

de datos a “pedidos”.

Luego al ejecutar el proyecto