Reporte sin conexión a base de datos (Empty Report)


En esta ocasión mostrare como ejecutar un reporte sin conexion alguna a base de datos, este tipo de informes basicamente nos sirve solo para mostrar una plantilla (archivo JASPER) en el jasperViewer, por lo cual utilizaremos a la clase JREmptyDataSource(), el codigo para realizar la ejecucion de este tipo de reportes seria de la siguiente manera:
/**
*
* @author
* Javier Dominguez Geniz – Sistemas
* http://ajdgeniz.wordpress.com
*/

import net.sf.jasperreports.engine.*;
import java.util.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.*;

public class JasperEmpty {

public static void main(String[] args) {
String fileName = “ao.jasper”;

HashMap param = new HashMap();
try {

// llenamos el reporte con un origen de datos vacio donde le pasamos como argumentos
//el nombre del archvios jasper, el hasmap y una JREMptyDataSource que especifica que no habra conexion a
// base de datos

JasperPrint print = JasperFillManager.fillReport(fileName, param, new JREmptyDataSource());

//lanzamos ej jasper viewer recibiendo coo argumento el informe y un valor boolenano para indicar
// que una vez cerrado el visor, no termine la aplicacion principal

JasperViewer jviewer = new JasperViewer(print,false);

//Establecemos el titulo del visor
jviewer.setTitle(“Reporte sin conexion a base de datos – http://ajdgeniz.wordpress.com”);
jviewer.setVisible(true);

} catch (JRException e) {
e.printStackTrace();
System.exit(1);
}
}
}


DESCARGAR: Codigo Fuente de Reporte Vacio(Empty Report)

Como podrá darse cuenta es relamente un codigo muy reducido, pero que finalmente ejecutará su informe.

9 comentarios el “Reporte sin conexión a base de datos (Empty Report)

    • oye podrias ayudarme tengo muchos errores uno de ellos es: Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/callsite/CallSiteArray.
      cuantas librerias me faltan

  1. hola me podrias ayudar por favor me marka un error aun haciendolo como en esta paractica sin conexion a mysql
    llevo dias sin poder arreglar este problema muchas gracias
    este es mi error
    Exception in thread “AWT-EventQueue-0″ net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0
    at net.sf.jasperreports.engine.JRHyperlinkHelper.getLinkTarget(JRHyperlinkHelper.java:269)
    at net.sf.jasperreports.engine.base.JRBaseImage.normalizeLinkTarget(JRBaseImage.java:925)
    at net.sf.jasperreports.engine.base.JRBaseImage.readObject(JRBaseImage.java:1047)

    • Hola, el error de “Unknown hyperlink target 0″ se debe principalmente a que tienes la misma libreria duplicada es decir; puede que tu proyecto tenga jasperreports version 3 y la misma pero en version 4, cuando sucede esto, el compilador no sabe de cual de las dos tomara la clase que necesit ay lanza esta exception. la solucion si es este tu caso, seria quitar la referencia a alguna de ellas.

  2. si tengo una clase donde estan 3 textfield donde el usuario mete datos pero no quiero mandarlos a una base de datos esto se puede hacer!!?? solo quiero mandar 3 valores nombre matricula y nivel academico….. AYUDA =D

    • por supuesto qeu si, el reporte solo puede o no recibir parametros, o puedes usar esos datos de los parametros para cualquier otra cosa, no necesariamente para el reporte.

  3. Hola, ayudame con mi reporte en java… cuando ejecuto me sale este error:

    master:D:\USB\USAT 2013 – I\DESARROLLO DE SISTEMAS\AplicacionReportes/src/reportes/repClientes.jasper
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/callsite/CallSiteArray
    at Reporte32Clientes_1373334560525_248574.$createCallSiteArray(calculator_Reporte32Clientes_1373334560525_248574)
    at Reporte32Clientes_1373334560525_248574.$getCallSiteArray(calculator_Reporte32Clientes_1373334560525_248574)
    at Reporte32Clientes_1373334560525_248574.(calculator_Reporte32Clientes_1373334560525_248574)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:98)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:320)
    at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:240)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:421)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:428)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:76)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:86)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:56)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:52)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
    at reportes.reporteClientes.runReporte(reporteClientes.java:52)
    at Principal.jButton1ActionPerformed(Principal.java:76)
    at Principal.access$000(Principal.java:13)
    at Principal$1.actionPerformed(Principal.java:42)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:702)
    at java.awt.EventQueue$4.run(EventQueue.java:700)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.callsite.CallSiteArray
    at java.lang.ClassLoader.findClass(ClassLoader.java:522)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    … 60 more

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s