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

Reportes en Java

Estas en el tema de Reportes en Java en el foro de Java en Foros del Web. Hola Estoy realizando una aplicacion de escritorio en Netbeans 6.1 utilizando java, viendo en este foro y buscando por la web vi sobre los reportes ...
  #1 (permalink)  
Antiguo 03/03/2009, 23:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Reportes en Java

Hola

Estoy realizando una aplicacion de escritorio en Netbeans 6.1 utilizando java, viendo en este foro y buscando por la web vi sobre los reportes en java, y trate de utilizarlo ya que me viene muy bien para hacer mi aplicacion.

Mi problema es que logro hacer el archivo .jrxml, es decir, puedo previsualizar el reporte y esta perfecto con todos los datos correspondientes, pero no tengo idea como llamarlo desde la aplicacion, alguien podria explicarme como seria el codigo para invocar el reporte presionando un boton

Gracias por su colaboracion.
  #2 (permalink)  
Antiguo 04/03/2009, 00:05
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 16 años, 11 meses
Puntos: 8
Respuesta: Reportes en Java

Hay te dejo el codigo, lo que hace el codigo realiza primero compila el archivo jrxml para crear el archivo jasper, luego ejecuta el reporte y lo exporta a pdf

Código PHP:
public static void main(String[] args)
  {
    
JasperReport jasperReport;
    
JasperPrint jasperPrint;
    
Connection con;
    try
    {
            
//1-Compilamos el archivo XML y lo cargamos en memoria
      
jasperReport JasperCompileManager.compileReport(
          
"c:/primerReporte.jrxml");

               
//2-Llenamos el reporte con la información y parámetros necesarios 
      
jasperPrint JasperFillManager.fillReport(
          
jasperReport, new HashMap(), con);

               
//3-Exportamos el reporte a pdf y lo guardamos en disco
      
JasperExportManager.exportReportToPdfFile(
          
jasperPrint"c:/holaMundo.pdf");
    }
    catch (
JRException e)
    {
      
e.printStackTrace();
    }
  } 
salu2
  #3 (permalink)  
Antiguo 04/03/2009, 08:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Respuesta: Reportes en Java

Hola

Intente ejecutar tu codigo pero tengo un par de problemas, primero te dejo el codigo para que veas como me quedo con las librerias.


Código PHP:
package con_reportes;

import java.sql.Connection;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRException;
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.JasperReport;

/**
 *
 * @author Administrador
 */
public class Main {

    
/**
     * @param args the command line arguments
     */
    
public static void main(String[] args) {
        
// TODO code application logic here
        
    
JasperReport jasperReport;
    
JasperPrint jasperPrint;
    
Connection con null;
    try
    {
            
//1-Compilamos el archivo XML y lo cargamos en memoria
      
jasperReport JasperCompileManager.compileReport(
          
"c:/reporte.jrxml");

               
//2-Llenamos el reporte con la información y parámetros necesarios 
      
jasperPrint JasperFillManager.fillReport(
          
jasperReport, new HashMap(), con);

               
//3-Exportamos el reporte a pdf y lo guardamos en disco
      
JasperExportManager.exportReportToPdfFile(
          
jasperPrint"c:/holaMundo.pdf");
    }
    catch (
JRException e)
    {
      
e.printStackTrace();
    }
  }


Y este es el error que me aparece:

init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\Administrador\Mis documentos\Emy\Gestion\Ej NEtbeans\Con_reportes\build\classes
compile:
run:
net.sf.jasperreports.engine.JRException: Error compiling report java source files : C:\Documents and Settings\Administrador\Mis documentos\Emy\Gestion\Ej NEtbeans\Con_reportes\report32name_1236178278984_4 9769.java
at net.sf.jasperreports.engine.design.JRJavacCompiler .compileClasses(JRJavacCompiler.java:93)
at net.sf.jasperreports.engine.design.JRAbstractClass Compiler.compileUnits(JRAbstractClassCompiler.java :67)
at net.sf.jasperreports.engine.design.JRAbstractCompi ler.compileReport(JRAbstractCompiler.java:192)
at net.sf.jasperreports.engine.JasperCompileManager.c ompileReport(JasperCompileManager.java:219)
at net.sf.jasperreports.engine.JasperCompileManager.c ompileReport(JasperCompileManager.java:152)
at con_reportes.Main.main(Main.java:35)
Caused by: java.io.IOException: Cannot run program "javac": CreateProcess error=2, El sistema no puede hallar el archivo especificado
at java.lang.ProcessBuilder.start(ProcessBuilder.java :459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at net.sf.jasperreports.engine.design.JRJavacCompiler .compileClasses(JRJavacCompiler.java:62)
... 5 more
Caused by: java.io.IOException: CreateProcess error=2, El sistema no puede hallar el archivo especificado
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java :452)
... 8 more
BUILD SUCCESSFUL (total time: 3 seconds)


Alguna opinion sobre esto ??

o si tienen algun ejemplo realizado para probarlo se lo agradezco.
  #4 (permalink)  
Antiguo 04/03/2009, 09:10
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 16 años, 11 meses
Puntos: 8
Respuesta: Reportes en Java

Te falta una libreria, esa libreria es tools.jar la encuentras en la carpeta donde instalaste el jdk, dentro de esa carpeta esta otra carpeta lib ahi encuentras la libreria

salu2
  #5 (permalink)  
Antiguo 04/03/2009, 10:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Respuesta: Reportes en Java

Hola, puse lo que me dijiste y anda

Ahora mi duda es, si desde el main llamo a un Jframe que posee un boton, y cuando presiono este quiero que me muestre el reporte, es decir, el archivo pdf que me hace con tu codigo, entonces que codigo pondria en el evento mouse clicked?

este es el codigo del main, el cual llama a la ventana presentacion junto con lo que me dijiste para crear el pdf.

Código PHP:
package con_reportes;

import con_reportes.presentacion;
import java.awt.Frame;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRException;
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.JasperReport;


/**
 *
 * @author Administrador
 */
public class Main {

    
/**
     * @param args the command line arguments
     */
    
public static void main(String[] argsthrows ClassNotFoundExceptionSQLException {
        
// TODO code application logic here
    
try{
          
Frame w = new presentacion();
          
w.pack();
          
w.setVisible(true);
        } catch (
Exception ex) {
            
System.out.println("Problemas de Estructura");
  }
        
    
JasperReport jasperReport;
    
JasperPrint jasperPrint;
    
Connection con null;
    try
    {
        Class.
forName("com.mysql.jdbc.Driver");
        
con DriverManager.getConnection("jdbc:mysql://localhost/addressbook","root","root");
            
//1-Compilamos el archivo XML y lo cargamos en memoria
      
jasperReport JasperCompileManager.compileReport(
          
"c:/reporte.jrxml");
          
               
//2-Llenamos el reporte con la información y parámetros necesarios 
      
jasperPrint JasperFillManager.fillReport(
          
jasperReport, new HashMap(), con);

               
//3-Exportamos el reporte a pdf y lo guardamos en disco
      
JasperExportManager.exportReportToPdfFile(
          
jasperPrint"c:/holaMundo.pdf");
    }
    catch (
JRException e)
    {
      
e.printStackTrace();
    }
  } 
}

Gracias
  #6 (permalink)  
Antiguo 04/03/2009, 13:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 16 años, 11 meses
Puntos: 8
Respuesta: Reportes en Java

En la linea donde creas el pdf, comenta la linea y agregas la siguiente linea:

JasperViewer.viewReport(jasperPrint, false);

La anterior linea lo que hace es abrir un frame, el mismo frame que se abre en ireport cuando pruebas un reporte.

salu2
  #7 (permalink)  
Antiguo 04/03/2009, 14:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Reportes en Java

Muchas gracias fuiste de gran ayuda
  #8 (permalink)  
Antiguo 28/09/2010, 04:18
Avatar de fernando83  
Fecha de Ingreso: abril-2009
Ubicación: Sevilla
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Reportes en Java

Cita:
Iniciado por vdpazmino Ver Mensaje
te falta una libreria, esa libreria es tools.jar la encuentras en la carpeta donde instalaste el jdk, dentro de esa carpeta esta otra carpeta lib ahi encuentras la libreria

salu2

gracias!!!! Xd
  #9 (permalink)  
Antiguo 07/11/2010, 04:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Reportes en Java

Cita:
Iniciado por vdpazmino Ver Mensaje
Te falta una libreria, esa libreria es tools.jar la encuentras en la carpeta donde instalaste el jdk, dentro de esa carpeta esta otra carpeta lib ahi encuentras la libreria

salu2
Hola

Muchas gracias por tu aporte, me ha sido de grandisima ayuda

Saludos
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




La zona horaria es GMT -6. Ahora son las 01:16.