Você está na página 1de 47

Mdulo II

Tema 05: Reportes en iReport


Docente: Ing. Henry Mendoza Puerta
hmendozap@upao.edu.pe
Blog: http://hampprogramandoando.blogspot.com/
Facebook: https://www.facebook.com/pages/ProgramandoAndo/184966181653042?ref=hl
Google +: https://plus.google.com/communities/106679300331219307784

Mdulo II

JasperReports
JasperReports es la mejor herramienta de cdigo libre en Java para generar reportes.
Puede entregar buenas presentaciones o diseos en pantalla, para la impresora o para
archivos en formato PDF, HTML, RTF, XLS, CSV y XML. Est completamente escrita en
Java y se puede utilizar en una gran variedad de aplicaciones de Java, incluyendo J2EE
o aplicaciones Web, para generar contenido dinmico.

IReport
iReport es un diseador visual de cdigo libre para JasperReports escrito en Java. Es un
programa que ayuda a los usuarios y desarrolladores que usan la librera JasperReports
para disear reportes visualmente. A travs de una interfaz rica y simple de usar,
iReport provee las funciones ms importantes para crear reportes amenos en poco
tiempo. 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 travs de alguna
aplicacin.

iReport puede leer y modificar ambos tipos de archivo ,XML y jasper. A travs de
JasperReports, es capaz de compilar XML a archivos jasper y ejecutar reportes para

2013

Mdulo II

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


resultado a PDF,HTML,XLS,CSV,..
Descargar iReport
Ir a la siguiente direccin
, luego
te cargara la siguiente pgina, dar clic en el botn Descargar diseador IReport.

Instalacin de iReport
Solo mostrare la secuencia de imgenes del proceso de instalacin.

2013

Mdulo II

2013

Mdulo II

2013

Mdulo II

Si sale el siguiente error.

Se debe configurar la variable JAVA_HOME.

2013

Mdulo II

Ingresamos a la consola de iReport.

Creando Tabla Clientes en Oracle

2013

Mdulo II

Ingresando algunos datos

2013

Mdulo II

Creacin del reporte


Paso 1: Adjuntando driver de Oracle a iReport

Paso 2: Estableciendo conexin a la Base de Datos

2013

Mdulo II

2013

Mdulo II

Paso 3: Agregando nuevo archivo, para disear el reporte sin asistente

Dar clic en el botn Open this template

2013

10

Mdulo II

Descripcin de cada bloque de un reporte


Title: El titulo de nuestro reporte debe escribirse en esta seccin. Solo se mostrara en
la primera pagina del reporte.
pageHeader: Aparece en la parte superior de cada pagina. Puede contener
informacin adicional del reporte, descripciones, etc.
columnHeader: En esta seccin se muestran los nombres de los campos que se van a
presentar.
Detail: En esta seccin se despliegan los valores correspondientes a los nombres de los
campos definidos en la seccin anterior. Estos datos pueden obtenerse mediante
consultas SQL a una base de datos por ejemplo.
columnFooter: Puede presentar informacin de totales para algunos de los campos
de la seccin detail.
pageFooter: Aparece en la parte inferior de cada pagina . Esta parte puede presentar ,
la fecha ,numero de pagina del reporte .
summary: Esta seccin puede presentar totales de campos de la seccin detail. Si se
desea incluir algn grafico en el reporte , debe hacerse en esta seccin.

2013

11

Mdulo II

Diseo de Reporte
Agregando Static Text

Agregando Consulta

Dar clic en el botn Query

2013

12

Mdulo II

Dar clic en el botn OK

2013

13

Mdulo II

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:

2013

14

Mdulo II
Ejecucion

Creando Aplicacin

2013

15

Mdulo II

Luego de crear el proyecto copiar la carpeta de libreras dentro de la estructura de tu


proyecto

Luego adjuntar las libreras a nuestro proyecto

2013

16

Mdulo II

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.

2013

17

Mdulo II

Dentro de la carpeta conexionbd, se encuentra la clase conexin, cuyo codigo es


el siguiente

2013

18

Mdulo II

Luego dentro de nuestro paquete reporte agregaremos una clase llamada


ReporteCliente, Cuyo cdigo es el siguiente

2013

19

Mdulo II

Luego agregamos al proyecto un JFrame Form, de nombre frmReporte1

2013

20

Mdulo II

Y en el diseo agregamos un JButton

2013

21

Mdulo II

En el cdigo 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 mtodo 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 botn Ver Reporte Cliente se mostrara.

2013

22

Mdulo II

Creando Reporte que muestre un listado de Clientes filtrado por pas de origen, para
lo cual modificaremos el reporte anterior.
Creando un parmetro con las siguientes caracterstica

Modificando la sentencia SQL de la siguiente manera

2013

23

Mdulo II

En el diseo del formulario agregamos una caja de texto: le colocamos de nombre


txtPais

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

2013

24

Mdulo II

Y En el cdigo del botn el cdigo debe ser modificado como se muestra a


continuacin

Al ejecutar el proyecto el resultado ser el siguiente

Al dar clic en el botn Ver Reporte Cliente

2013

25

Mdulo II

Creando SubReportes
Crear la base datos : bdmatricula y luego Restaurar el script
Diseando Reporte
Creando nueva conexin a base de datos en MySQL:

2013

26

Mdulo II

2013

27

Mdulo II

Creando consulta para reporte :

Dar clic en el botn Query Desing

2013

28

Mdulo II

2013

29

Mdulo II
Diseando Reporte PADRE

2013

30

Mdulo II
Creando SubReporte HIJO
Crea un nuevo archivo vaco y llmalo 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.

2013

31

Mdulo II
Crea un parmetro de entrada que llamaras dni.

La instruccin SQL que utilizaremos es:

Crea el reporte como si se tratara de cualquier otro reporte

2013

32

Mdulo II
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 diseador de reporte, aparece una nueva ventana, debes elegir
la opcin USAR UN REPORTE EXISTENTE, busca y selecciona el archivo hijo.jasper ,
presiona siguiente

En la siguiente ventana te muestra diferentes opciones de conexin, elige la primera, USAR


LA MISMA CONEXIN . siguiente.

2013

33

Mdulo II
En en esta ventana te pregunta por los parmetros que se utilizan en el subreporte, nosotros
solo utilizamos un parmetro de entrada llamado DNI, este parmetro debemos asignarle un
valor del reporte padre que lgicamente 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 opcin USE A STATIC ABSOLUTE PATH REFERENCE . Presiona el botn Terminar.

2013

34

Mdulo II
Acomoda el subreporte en el diseador de reporte.

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

2013

35

Mdulo II
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 conexin ya que ahora esta se debe conectar a MySQL, como se muestra a
continuacin.

Luego debemos adjuntar el Driver de MySQL a nuestro proyecto.

2013

36

Mdulo II

Luego en la clase ReporteCliente se modifica como se muestra a continuacin

Y en el evento del botn:

Y el diseo del formulario

2013

37

Mdulo II

2013

38

Mdulo II
Creamos un reporte con grafico
Crear una base de datos pedidos y restaurar la BDPedidos. Y establecer una conexin con
dicha base de datos

Luego creamos un reporte con nombre report1

2013

39

Mdulo II

2013

40

Mdulo II
Creamos un parmetro de nombre fecha

Luego creamos nuestra siguiente consulta

2013

41

Mdulo II

Probamos el reporte

2013

42

Mdulo II
Luego en la seccin Summary del reporte agregamos un control Chart

Dar clic en el botn OK luego de seleccionar un tipo de grafico y luego en la siguiente


ventana dar clic en el botn Terminar.

2013

43

Mdulo II
Selecciono el control, dar clic derecho y elegir la opcin Chart Data y configurar como se
muestra en la siguiente imagen.

Finalmente probamos el reporte y se debe ver asi:

2013

44

Mdulo II
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 continuacin.

Y en el formulario se debe hacer el siguiente cambio en el diseo, agregamos una caja de texto
de nombre txtFecha.

2013

45

Mdulo II
Antes de ejecutar el proyecto, no olvide cambiar en la clase conexin el nombre de la base
de datos a pedidos.
Luego al ejecutar el proyecto

2013

46

Você também pode gostar