Apuntes Jasper Reports y Java (Netbeans)

En este post explicaré cómo crear informes con la herramienta JasperReports. En este tutorial enseñaré cómo usarlo en la versión JasperReports 16.0. Es importante usar las versiones de las diferentes API-JAR (librerías) que pongo en este tutorial. Para hacer esto he empleado Java 8 y NetBeans 8.0, pero también sirve NetBeans 12. Además de estas librerías no debes de olvidar las de MySQL, además de arrancar nuestro server MySQL.

Las diferentes librerías que he empleados para hacer estos pasos son las siguientes:

  • commons-beanutil.jar
  • commons-collections.jar
  • commons-digester.jar
  • common-logging.jar
  • itext-.jar (para exportar a PDF)
  • poi.jar (para exportar a XLS)
  • jxl.jar (para exportar a XLS)
  • jfreechart.jar (para graficos)
  • jdt-compiler.jar

En nuestro proyecto de NetBeans debe de aparecer los siguientes imports. Es importante incluirlos ya que en caso de faltar alguno no funcionará.

 import java.io.File;
 import java.io.InputStream;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.sql.Connection;
 import javax.swing.JOptionPane;
 import net.sf.jasperreports.engine.JREmptyDataSource;
 import net.sf.jasperreports.engine.JasperCompileManager;
 import net.sf.jasperreports.engine.JasperFillManager;
 import net.sf.jasperreports.engine.JasperPrint;
 import net.sf.jasperreports.engine.JasperReport;
 import net.sf.jasperreports.engine.util.JRLoader;
 import net.sf.jasperreports.extensions.ExtensionsEnvironment;
 import java.io.PrintWriter.; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.util.HashMap; 
import java.util.logging.;
 import net.sf.jasperreports.engine.JasperExportManager;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 import net.sf.jasperreports.engine.JREmptyDataSource;
 import net.sf.jasperreports.engine.JRException;
 import net.sf.jasperreports.engine.JRExporterParameter;
 import net.sf.jasperreports.engine.JasperCompileManager;
 import net.sf.jasperreports.engine.JasperExportManager;
 import net.sf.jasperreports.engine.JasperFillManager;
 import net.sf.jasperreports.engine.JasperPrint;
 import net.sf.jasperreports.engine.JasperPrintManager;
 //import net.sf.jasperreports.engine.export.JExcelApiExporter;
 import net.sf.jasperreports.engine.export.JRCsvExporter;
 import net.sf.jasperreports.engine.export.JRXlsExporter;
 import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
 import net.sf.jasperreports.engine.util.JRLoader;
 import net.sf.jasperreports.engine.xml.JRXmlWriter;

El código para hacer funcionar JasperReports, dentro del Main, método o función en Java debe de ser el siguiente:

         Map paramMap = new HashMap();
         JasperReport report = (JasperReport) JRLoader.loadObject(miInforme);
         JRXmlWriter.writeReport(report, "destino.jrxml", "UTF-8");
         JasperReport reporte = JasperCompileManager.compileReport("destino.jrxml");
         System.out.println("aqui");
         JasperPrint print = JasperFillManager.fillReport(reporte, parameters, conn);
         JasperExportManager.exportReportToPdfFile(print, "salida.pdf");
         System.out.println("Informe impreso");
                   Map parameters = new HashMap();

         String archivo = null;

         File miDir = new File(".");
         miDir.getCanonicalPath();
         archivo = miDir.getCanonicalPath() + "\\DepartamentosG.pdf";
         informe = miDir.getCanonicalPath() + "\\DepartamentosG.jrxml";
         File miArchivo = new File(archivo);
         File miInforme = new File(informe);

Pues voy dejando hasta aquí mi tutorial de hoy, espero que os haya gustado y haya sido de utilidad.

FUENTES

  • http://chuwiki.chuidiang.org/index.php?title=Ejemplo_b%C3%A1sico_con_Jasper_Report

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Tomas Gonzalez
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
A %d blogueros les gusta esto: