Documentos de Académico
Documentos de Profesional
Documentos de Cultura
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (1,'Participante 1','par1user','part1pass','comentarios
participante 1');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (2,'Participante 2','par2user','part2pass','comentarios
participante 2');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (3,'Participante 3','par3user','part3pass','comentarios
participante 3');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (4,'Participante 4','par4user','part4pass','comentarios
respecto al participante 4');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (5,'Participante 5','par5user','part5pass','sin comentarios
para el participante 5');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (6,'Participante 6','par6user','part6pass',NULL);
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (7,'Participante 7','par7user','part7pass','comentatios
participante 7');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (8,'Participante 8','par8user','part8pass','comentarios
participante 8');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (9,'Participante 9','par9user','part9pass','comentarios
participante 9');
insert into
`participantes`(`ID`,`NOMBRE`,`USERNAME`,`PASSWORD`,`COMENTARIOS`)
values (10,'Participante 10','par10user','part10pass',NULL);
En este paso solo tenemos que seleccionar cuáles campos del query
generado en el paso anterior queremos que se muestren en el
reporte. Como nosotros queremos que se muestren todos pasamos
todos los campos del lado izquierdo al lado derecho y hacemos click
en el botón "Next".
Ahora en el paso 5 debemos seleccionar cómo queremos que los
datos sean agrupados. Esto lo explicaré en algún otro post, pero por
el momento dejemos todo en blanco y demos click en el botón
"Next".
En este caso el repote puede ser previsualizado por que las siguientes
condiciones se cumplen:
Nota: Hasta ahora esta es la única forma que he encontrado para compilar
los reportes. Si alguien conoce otra forma por favor avisenme.
Nota: Hay algunas notaciones usadas en la plantilla del reporte que tal vez
no comprendan como $F{participantes_USERNAME} y
$V{PAGE_NUMBER}. Esta es una sintaxis especial que usa JasperReports
para definir campos de objetos y variables, respectivamente. Existe otro
tipo de dato que se usa llamado propiedades ($P{propiedad}). Como todo
esto fué colocado por el wizard no lo explicaré hasta el siguiente post, por
ahora solo confien en que deben estar ahí.
jasperreports-3.1.3.jar
jasperreports-3.1.3-javaflow.jar
commons-beanutils-1.7.jar
commons-collections-2.1v
commons-digester-1.7.jar
commons-javaflow-20060411.jar
iText-2.1.0.jar
png-encoder-1.5.jar
poi-3.2-FINAL-20081019.jar
Algunos de estos jars se encuentran en el directorio dist y otros en
el directorio lib del archivo .zip de JasperRepots que bajamos
anteriormente.
Nota: No olviden agregar el jar del driver de MySQL que bajamos anteriormente (mysql-
connector-java-5.1.7-bin.jar) al proyecto al nodo "Libraries" de la ventana
"Project" usando la opción "Add JAR/Folder". Además de esto para que
JasperReports funcione correctamente hay que agregar un jar más, "commons-logging-
1.1.1.jar", que usa JasperReports internamente para el manejo de la bitácora.
Nota: Podemos cargar el archivo de esta forma gracias a que colocamos el archivo
"reporte1.jasper" en la raíz del proyecto. Si lo colocaron en otra ubicación será
necesario que pasen como parámetro al método loadObject la url absoluta en la que
se encuentré el archivo.
PDF
HTML
CSV
RTF
TXT
XLS
XML
Primero declaramos una referencia a un objet de tipo JRExporter de
la siguiente forma:
JRExporter exporter =
exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE,new
java.io.File("reportePDF.pdf"));
exporter.exportReport();
por
exporter.setParameter(JRTextExporterParameter.CHARACTER_WIDTH,
12);//text exporter
exporter.setParameter(JRTextExporterParameter.CHARACTER_HEIGHT,
12);//text exporter
import java.sql.Connection;
import java.sql.DriverManager;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
/**
* @author Alex
* @version 1.0
* @date 12/02/2009
*/
Class.forName("com.mysql.jdbc.Driver");
Connection conexion =
DriverManager.getConnection("jdbc:mysql://localhost:3306/pruebareportes",
"usuario", "password");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
// exporter.setParameter(JRTextExporterParameter.CHARACTER_WIDTH, 12);//text
exporter
// exporter.setParameter(JRTextExporterParameter.CHARACTER_HEIGHT, 12);//text
exporter
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new
java.io.File("reportePDF.pdf"));
exporter.exportReport();
Espero que este post, aunque algo largo, les sea de mucha utilidad.
El los post siguientes ampliaré un poco la forma en la que es posible
trabajar con JasperRepots.