Foros del Web » Programación para mayores de 30 ;) » Java »

Jasper Report + iReport + NetBeans 4

Estas en el tema de Jasper Report + iReport + NetBeans 4 en el foro de Java en Foros del Web. Hola a todos, estoy iniciandome en la generación de informes jasper, pero tengo algunas dificultades aver si me pueden orientar. Baje desde http://jasperreports.sourceforge.net/ jasperreports-0.6.5.jar jasperreports-0.6.5-applet.jar ...

  #1 (permalink)  
Antiguo 17/03/2005, 08:43
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Exclamación Jasper Report + iReport + NetBeans 4

Hola a todos, estoy iniciandome en la generación de informes jasper, pero tengo algunas dificultades aver si me pueden orientar.

Baje desde http://jasperreports.sourceforge.net/

jasperreports-0.6.5.jar
jasperreports-0.6.5-applet.jar

y los copie en la ruta:

C:\j2sdk1.4.2_07\jre\lib\ext

(De partida no se si sera esto correcto o donde realmente se intalan.)

Luego genere un informe simple y lo compile con el iReport 0.4.1 generando de esta manera mi archivo:

C:\reports\rep_cli.jasper

Tras esto creo un proyecto en NetBeans 4 para ejecutar mi reporte, este es el codigo:

Código:
/*
 * Main.java
 *
 * Created on 17 de marzo de 2005, 8:56
 */

package reportload;

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.view.*;
import java.sql.*;

import java.io.*;
import java.util.*;


/**
 *
 * @author DestruKtor
 */
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
    try
    {

        //Ruta de Archivo Jasper
        String fileName="C:\\reports\\rep_cli.jasper";
        //Ruta de archivo pdf de destino
        String destFileNamePdf="C:\\reports\\rep_cli.pdf";
        //Ruta de archivo xls de destino
        String destFileNameXls="C:\\reports\\rep_cli.xls";

        //Pasamos parametros al reporte Jasper.
        Map parameters = new HashMap();
        parameters.put("sql_query", new String("select * from clientes"));
        
        
        //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).
        JasperPrint jasperPrint=JasperFillManager.fillReport(fileName, parameters, getConnection());

        //Creación del PDF
        JasperExportManager.exportReportToPdfFile(jasperPrint, destFileNamePdf);

        //Creación del XLS
        JRXlsExporter exporter = new JRXlsExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileNameXls);
        exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
        exporter.exportReport();

        System.exit(0);
     }
     catch (Exception e)
     {
            System.out.println(e.getMessage());
     }
    }
    
    /**Metodo para crear la conexion a DB*/
    private static Connection getConnection() throws ClassNotFoundException, SQLException {
        //Configuración de la conexión.
        String driver = "org.postgresql.Driver";
        String connectString = "jdbc:postgresql://192.168.1.7:5432/bdtest";
        String user = "user";
        String password = "123";

        Class.forName(driver);
        Connection conn = DriverManager.getConnection(connectString, user, password);
        
        //Retornamos la conexión establecida.
    return conn;
}
    
}
Y tras compilar la aplicacion me arroja el siguiente error al ejecutar la linea de codigo:

Código:
        JasperPrint jasperPrint=JasperFillManager.fillReport(fileName, parameters, getConnection());
El mensaje de error es: Error loading object from file : C:\reports\rep_cli.jasper

la ruta esta perfecta, pero no logro deducir cual es mi error, por favor si me pueden guiar en el uso de jasper report se los agradesco de antamano

Saludos!!
  #2 (permalink)  
Antiguo 21/03/2005, 14:33
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Mi pregunta es nadie tiene idea o simplemente nadie quiere explicar el uso de los jasper report?
  #3 (permalink)  
Antiguo 21/03/2005, 20:22
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 19 años, 1 mes
Puntos: 0
ireport

Yo tambien tengo el mismo problema, si lo soluciono lo publico porque he buscado demasiado y nada, espero que tu hagas lo mismo cuando encuentres la solucion.

Gracias!!!
  #4 (permalink)  
Antiguo 23/03/2005, 06:38
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Aún sin respuesta

Ten la seguridad que si logro hacer funcionar la cosa, lo posteo en el foro, pero lamentablemente aún me estoy dando de cabezasos por que no se cual es el problema.

Espero que si alguien lo logro hacer funcionar comparta el conocimiento, el codigo y el diseño del jasper no hay drama, pero como se instala jaspertresport? creo que por hay esta el error

Saludos

DestruKtor
  #5 (permalink)  
Antiguo 24/03/2005, 11:24
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
De acuerdo Problema Solucionado!!!!!!

Por fin descubri el error y no era de codigo, ya que el codigo que esta arriba funciona perfecto, el problema ocurre por lo siguiente

el IReport en su directorio \lib trae el *.jar del jasperrepot y traia la vercion:

jasperreports-0.6.4.jar

con esta compila el archivo xml y generaba el *.jasper

Luego al intentar abrir el reporte con mi aplicacion estaba usando la vercion jasperreports-0.6.5.jar del jasper report y por este motivo el error, asi que reemplace el *.jar del iReport por la ultima vercion volvi a compilar y generar el *.jasper y problema resuelto (y)

Ahora si te sigue sin funcionar verifica que tengas los siguientes jar tanbien

commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-logging.jar
itext-1.2.jar
poi-2.5.1-final-20040804.jar


Saludos a todos

DestruKtor

http://www.vladyrojas.cl/
  #6 (permalink)  
Antiguo 28/03/2005, 06:18
Avatar de ValerioJ  
Fecha de Ingreso: enero-2002
Ubicación: Calabozo -Edo. Guárico
Mensajes: 189
Antigüedad: 22 años, 2 meses
Puntos: 0
Me podrían explicar cuál es la función de Jasper y IReport y como instalo eso para generar reportes? Gracias
__________________
ValerioJ
  #7 (permalink)  
Antiguo 28/03/2005, 07:15
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
De acuerdo Re:

Haber en primer lugar el IReport no necesita instalacion ya que es una aplicacion java, solo necesitas descomprimir el archivo .zip o tar.gz y ejecutar el archivo

ireport.bat --para ms windows
ireport.sh --para linux

ahora sobre el jasperreport puedes encontrar la api completa en :
http://jasperreports.sourceforge.net/api/index.html
__________________
Se Despide

DestruKtor
  #8 (permalink)  
Antiguo 28/03/2005, 07:28
 
Fecha de Ingreso: febrero-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Para ValerioJ:
JasperReport son las librerias q tiene java para realizar reportes, lo podes bajar del link q dieron al inicio del tema, el iReport es una herramienta q te ayuda a diseñar los reportes, lo podes bajar desde esta pagina http://ireport.sourceforge.net/ , lo descomprimis el archivo, y vas a poder ver el archivo iReport.bat, ese tenes q ejecutarlo y se carga el iReport.

Para todos:
Tengo un problema con la conexion dentro del iReport, yo quiero establecer una conexion q se conecte a la base de datos de otra computadora q esta en red, pero para este caso, le puse el nombre de la maquina en la q estoy trabajando, pero no puedo establecer la coneccion (sé q si voy a sacar datos de la misma maquina, puedo poner localhost), espero q alguien me pueda hechar una manito

Gracias!!
  #9 (permalink)  
Antiguo 28/03/2005, 08:40
Avatar de ValerioJ  
Fecha de Ingreso: enero-2002
Ubicación: Calabozo -Edo. Guárico
Mensajes: 189
Antigüedad: 22 años, 2 meses
Puntos: 0
Ok, amigos gracias por la información pero mi inquietud es si es necesario Jasper Report teniendo IReport. ah en cuanto a la conexión del Amigo MARCELO_V tal vez tengas que propocionarle la dirección IP de la máquina que tiene la base de datos a la cual te quieres conectar.
__________________
ValerioJ
  #10 (permalink)  
Antiguo 28/03/2005, 11:06
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
De acuerdo respuesta

Asi es si quieres acceder a otra maquina lo más recomendable es utilizar las direcciones IP.

Ahora ValerioJ:

resulta que el iReport es un editor grafico de reportes jasper, con el creas las definiciones de los reportes en xml y puedes compilarlos en *.jasper

ahora para visualizar, e imprimir los reportes de tu aplicacion java o jsp necesitas las librerias jaspereports para lograrlo, es decir el iReports solo es un editor grafico visual para crear el formato y la definicion de tu reporte utilizando la api jasperreport
__________________
Se Despide

DestruKtor
  #11 (permalink)  
Antiguo 28/03/2005, 11:29
Avatar de ValerioJ  
Fecha de Ingreso: enero-2002
Ubicación: Calabozo -Edo. Guárico
Mensajes: 189
Antigüedad: 22 años, 2 meses
Puntos: 0
Mil Gracias DestruKtor, ahora estoy claro.
__________________
ValerioJ
  #12 (permalink)  
Antiguo 28/03/2005, 17:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola a todos, intente con el ip, pero tampoco me responde, espero q me puedan colaborar en esto.
Gracias!!
  #13 (permalink)  
Antiguo 29/03/2005, 07:24
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Sobre conexión

pues el string de conexion deberia ser algo asi, con la ip y el puerto del servidor:

jdbc:postgresql://192.168.0.5:5432/DataBaseName


si reemplazas la ip por localhost logras conectarte a tu servidor local?? si es asi verifica que el equipo al que te quieras conectar si tiene firewall te permita el acceso al puerto especificado.
__________________
Se Despide

DestruKtor
  #14 (permalink)  
Antiguo 29/03/2005, 13:30
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Fuentes del IReport

Quisiera crear un reporte para imprimirlo en una impresora matriz de punto, cual es la fuente apropiada para utilizar en el IReport para generar mi reporte jasper??

Alguna sugerencia?
__________________
Se Despide

DestruKtor

Última edición por DestruKtor; 29/03/2005 a las 13:31
  #15 (permalink)  
Antiguo 30/03/2005, 08:59
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Pasae parametros a consulta.

Olvidemos lo de las fuentes por ahora,
Lo que me inquieta es como pasarle parametros a una consulta
puedo definir la consulta y pasarle parametros parametros que eh definido asi:

select * from clientes where idclienter = $P{id}
select * from clientes where idclienter = $P{id} and ciudad = $P{ciudad} order by $P{orden}

hasta hay todo bien, pero la cosa se complica por ejemplo si tengo muchos filtros que mandarle a una consulta, por lo que pensaba pasar mejor la consulta completa
en un parametro

para ello defini un parametro $P{query} y le asigne valor por defecto = "select * from clientes" para poder visualizar los datos y ver el informe

y en query del ireport solo coloco el parametro $P{query}, me arroja el error :
Syntax error en o cerca de "$1" ahora si elimino las "" del valor por defecto del parametro que es lo que asumo esta molestando en la consulta no deja compilar, alguna idea de como solucionar esto uso el iReport 0.4.1
__________________
Se Despide

DestruKtor
  #16 (permalink)  
Antiguo 31/03/2005, 10:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Pregunta JasperReports.

Hola!

He trabajado ya varios meses con el JasperReports y con el Java Sun Studio Creator. Y me funciona de maravilla, claro que me costó demasiado lograr que funcionara bien.
Pero ahora tengo un nuevo reto, y es que debo de implementar el JasperReports con PowerBuilder.
Alguien sabe si esto es posible??? Si lo es, me pueden decir cómo hacerlo

Gracias!!!!!!!!!!

Wendy,
Costa Rica
[email protected]
  #17 (permalink)  
Antiguo 04/04/2005, 15:08
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
pues para que funcione jasperreport se requiere codigo 100% java por que en eso esta construido y solo asi funciona. ahora podrias hacer que una aplicacion construida en cualquier lenguaje ejecute un reporte jasper, si tienes una aplicacion java que haga el trabajo de pasar las variables de tu aplicacion a el reporte, lo compile y lo muestre. pero para manipular la api jasperreport se requiere java.

jasper report = reportes java
__________________
Se Despide

DestruKtor
  #18 (permalink)  
Antiguo 05/04/2005, 08:39
 
Fecha de Ingreso: abril-2005
Ubicación: medellin colombia
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo iReport

Veo que eres unapersona que tiene bastante conocimiento acerca del tema, me podrias ayudar?
Me gustaría saber como invocar el generador de reporte desde codigo html, para publicar los reportes en una pagina Web, ah y también como realizar una sumatoria para cierto campo de una tabla, ya intente por consulta sql con la funcion SUM() y no me da. De antemano muchas gracias.
  #19 (permalink)  
Antiguo 05/04/2005, 09:08
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
haber el generador de reportes la unica forma de invocarlo es mediante codigo java no html o php directamente, lo que pudes hacer es crear un script jsp en un servidor tomcat que recibas los parametros necesarios de una pagina html o php o cualquier otra y ejecute el reporte
__________________
Se Despide

DestruKtor
  #20 (permalink)  
Antiguo 05/04/2005, 09:54
 
Fecha de Ingreso: abril-2005
Ubicación: medellin colombia
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo iReport

Bueno, tengo tambien la posibilidad por javascrip solo que ne sugerieron por html, pero me parece genial por medio de java. Si me puedes ayudar te lo agradezco muchisimo.
  #21 (permalink)  
Antiguo 05/04/2005, 09:59
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Por javascipt lo unico que puedes hacer es imprimir una pagina html tal como se muestra, pero no puedes ejecutar jasperreport ni con javascript ni con html debes escribir la aplicacion en java. sigue los pasos que estan al comienzo del foro, adapta el codigo que esta al principio, con pequeñas modificaciones puedes hacer tu jsp y ejecutar reportes jasper.

Suerte
__________________
Se Despide

DestruKtor
  #22 (permalink)  
Antiguo 05/04/2005, 10:08
 
Fecha de Ingreso: abril-2005
Ubicación: medellin colombia
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo iReport

Bueno no soy una experta en java pero voy a compartir este codigo con un amigo que sabe mas, si tengo alguna duda te seguire consultando, te felicito por que manejas muy bien el tema, ah y otra cosa sobre la sumatoria de cierto campo de la tabla con la que estoy generando el reporte, no he podido por consulta sql, y no se por iReport como lo puedo hacer ya que hace poco estoy en el cuento y estoy empezando a conocerlo, ya he generado reportes y hasta el momento no he presentado inconvenientes solo que en el reporte me gustaria sacar como el resumen de ciertos datos, sera que esto tambien me puedes ayudad.
Muchas gracias de nuevo
  #23 (permalink)  
Antiguo 05/04/2005, 13:55
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Pues la sumatoria de un campo por iReport es muy facil.
Te vas a Objects Library y hay hay un componente que te permite realizar la sumatoria de un campo.
__________________
Se Despide

DestruKtor
  #24 (permalink)  
Antiguo 06/04/2005, 07:15
 
Fecha de Ingreso: abril-2005
Ubicación: medellin colombia
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo iReport

Si muchas gracias acabo de intentar la sumaoria, pero me sale el siguiente error: será que me puedes ayudar de nuevo
Errors compiling .\REPORTE 4.jasper! 96915*[Thread-15]*WARN*design.JRVerifier**-*Warning*:*Element*bottom*reaches*outside*band*are a*:*y=0*height=1*band-height=0 net.sf.jasperreports.engine.JRException:*Errors*we re*encountered*when*compiling*report*expressions*c lass*file: 1.*Syntax*error*on*token*"expression",*delete*this *token ****************value*=*(java.lang.Integer)(Custom *expression); ************************************************** *<--------> 2.*Syntax*error*on*token*"expression",*delete*this *token ****************value*=*(java.lang.Integer)(Custom *expression); ************************************************** *<--------> 3.*Syntax*error*on*token*"expression",*delete*this *token ****************value*=*(java.lang.Integer)(Custom *expression); ************************************************** *<--------> 3*errors ****at*net.sf.jasperreports.engine.design.JRJdtCom piler.compileReport(JRJdtCompiler.java:156) ****at*net.sf.jasperreports.engine.design.JRDefaul tCompiler.compileReport(JRDefaultCompiler.java:149 ) ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:171) ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:153) ****at*it.businesslogic.ireport.IReportCompiler.ru n(IReportCompiler.java:398) ****at*java.lang.Thread.run(Unknown*Source
  #25 (permalink)  
Antiguo 07/04/2005, 14:49
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Pues no se que estaras haciendo mal, por que por más que trato que el IReport me de algun error al realizar una sumatorio entre campos, compila siempre bien.

Si sacas la sumatoria, puedes compilar con exito el reporte?, verifica tambien los tipo de datos.

Saludos!
__________________
Se Despide

DestruKtor
  #26 (permalink)  
Antiguo 07/04/2005, 21:28
JPG
 
Fecha de Ingreso: abril-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Sonrisa

Hola, soy nuevo con esto de la creacion de los reportes en Java, quisiera saber si alguien me puede ayudar con la siguiente duda:

deseo llamar a un reporte desde un JSP, el reporte tiene una conexion con una base de datos y posiblemente un grafico creado en jfreechart, alguien tiene alguna idea de como hacer esto.

espero que me puedan ayudar.

Pura vida!
muchas gracias
  #27 (permalink)  
Antiguo 08/04/2005, 07:53
 
Fecha de Ingreso: abril-2005
Ubicación: medellin colombia
Mensajes: 25
Antigüedad: 19 años
Puntos: 0
De acuerdo Jsp

Hola, mira yo tenia el mismo inconveniente pero al inicio del foro hay un codigo que lo puedes adaptar que es en java, pero no se si te funciones por la grafica, ¡intentalo!
  #28 (permalink)  
Antiguo 09/04/2005, 17:36
JPG
 
Fecha de Ingreso: abril-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Ireport

Hola!, mira encontre un site que dan un ejemplo:
http://sourceforge.net/forum/forum.p...orum_id=113530

pero cuando lo trato de compilar, me dice que no encuentra las siguientes librerias
import="net.sf.jasperreports.engine.*"
import="net.sf.jasperreports.engine.fill.*"
en el archivo classic.java (el que genera el ireport), pero en el ireport si funciona.

Ademas los jar estan en el WEB-INF/lib


Seguire intentado.
muchas gracias
pura vida
  #29 (permalink)  
Antiguo 10/04/2005, 06:17
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Esta orientacion la diste anteriormente a alguien..tengo un problema y creo que es por que me falta alguna de estas:

Ahora si te sigue sin funcionar verifica que tengas los siguientes jar tanbien

commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-logging.jar
itext-1.2.jar
poi-2.5.1-final-20040804.jar

creo que es commons-logging.jar segun el error:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<cli nit>(JRBaseFiller.java:128)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:111)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:291)
at Reportes.SUBREPORTS.SubreportsSample.main(Subrepor tsSample.java:136)

..puedes decirme por favor, estos .jar donde los encuentro y donde debo colocarlos exactamente?..lo que sucede es que estoy barada por eso. MUCHAS GRACIAS!!
  #30 (permalink)  
Antiguo 11/04/2005, 09:32
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 1 mes
Puntos: 4
Pues si descargaste iReport, esos jar estan dentro del directorio lib, solo los copias a tu class path y listo, tambien puedes ser descargados algunos de estos desde el sitio del proyecto jackarta.

saludos.
__________________
Se Despide

DestruKtor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 61 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:29.