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. Buenas gente!! Como les va? Bueno, escribo porque necesito que alguien me de una mano con un reporte con el que estoy trabajando. Les cuento ...
  #901 (permalink)  
Antiguo 23/08/2007, 12:53
 
Fecha de Ingreso: abril-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Buenas gente!! Como les va? Bueno, escribo porque necesito que alguien me de una mano con un reporte con el que estoy trabajando. Les cuento mi problema: tengo un reporte que va a mostrar items de una tabla "cabecera" y por cada uno de estos items debo mostrar a continuación los items de "detalle_cabecera", no se si se me entiende, a ver, podriamos decir que debo mostrar un registro de una tabla como puede ser FACTURA y a continuación debo mostrar todos los registros de la tabla FACTURA_DETALLE que corresponde, y así sucesivamente por cada uno de los registros de la tabla padre. Esto lo estoy haciendo pasandole al reporte un 'JRBeanCollectionDataSource' y donde paso por parametro un java.util.List de los bean que representan la cabecera (cada uno de estos bean tiene una property que retorna otro java.util.List con el detalle de ese bean).

Bueno tenia pensado impletar este requerimiento con un report que en la band detail me itere mis beans y que ahi tambien llame a un subreport que se encargaría de iterar sobre el detalle de cada bean.

Bueno, el problema es que no se como decirle a un subreport que por cada bean me tome la property que me devuelve los detalle del mismo.

Por favor, si alguien me puede ayudar se lo agradecería enormemente, es importante.

Gracias, y disculpen la molestia (ah, y también la redundancia).
  #902 (permalink)  
Antiguo 23/08/2007, 15:33
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

hola, necesito saber si hay alguna forma de evitar el desbordamiento en los campos de textos de la herramienta iReport, el tema es que cuando se hace el diseño utilizando iReport si usted a un a campo de texto le pone ancho 100 px y a la hora de darle valores a eso el texto es mas lango, pues sentillamente habra una parte de ese texto que no se mostrara, existe alguna forma de ajustar los campos de texto al tamaño de su contenido ?
  #903 (permalink)  
Antiguo 27/08/2007, 21:13
 
Fecha de Ingreso: mayo-2007
Ubicación: Tijuana
Mensajes: 26
Antigüedad: 17 años
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Hola,
ya pude hacer mi reporte en ireport, y abrirlo desde mi aplicacion swing, ahora el problema es q cuando exporto a excel o a html no me pasa los datos ligados a la base de datos( mysql ), y cuando los exporto a pdf si pasa el reporte completo.

Pense que era mi aplicacion, asi que genere el reporte directamente de ireport 2.0.1 a excel y tampoco me exporta los datos que estan ligados a la base de datos.

Si alguien me pudiera ayudar le agredeceria mucho.
  #904 (permalink)  
Antiguo 28/08/2007, 20:19
 
Fecha de Ingreso: mayo-2007
Ubicación: Tijuana
Mensajes: 26
Antigüedad: 17 años
Puntos: 0
Re: Pasar un qry como parametro a un reporte.

Hola:

Quice hacer eso de enviar una consulta de sql como parametro pero no he tenido exito, 1ro no tengo idea de como poner el parametro en ireport-cuando lo pongo como valor por defaul 'select campo1,campo2 from mitabla', me muestra un error al compilarlo-
  #905 (permalink)  
Antiguo 28/08/2007, 20:30
 
Fecha de Ingreso: mayo-2007
Ubicación: Tijuana
Mensajes: 26
Antigüedad: 17 años
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

eso q no podia ver los datos en excel, y html,ya lo solucione gracias, lo qui hice fue quitar las instalaciones anteriores de irepot, copiar el tools.jar ...y los pasos siguientes basicamente empece de nuevo y ahora a funcionado bien gracias de todas maneras
  #906 (permalink)  
Antiguo 31/08/2007, 13:35
Avatar de varonmarcos  
Fecha de Ingreso: agosto-2007
Ubicación: Colombia
Mensajes: 4
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Hola soy nuevo el Foro, pero trabajo Java hace rato pero nunca habia utilizado IReports y JasperReports, la verdad de este foro descargue un codigo de un servlet para llamar el alchivo *.jrxml el cual tiene la configuraci
  #907 (permalink)  
Antiguo 03/09/2007, 14:43
Avatar de jucardo  
Fecha de Ingreso: agosto-2007
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Jasper Report + iReport + NetBeans 4

Hola como están todos. Necesito si es posible por favor me den una manito.
Cual es mi problema

Tengo en una base de datos todos los registros que conforman la hoja de vida de mis clientes pero deseo exportar todos esos datos a un archivo pdf usando ireport. La idea es que cada cliente quede en una pagina o las que requiera pero una vez cambien de cliente inicie una nueva página.
Si existe alguna forma de hacerlo les agradecería me lo hagan saber
  #908 (permalink)  
Antiguo 04/09/2007, 11:03
Avatar de varonmarcos  
Fecha de Ingreso: agosto-2007
Ubicación: Colombia
Mensajes: 4
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 5.5

Hola ya logre exportar el reporte a PDF con el codigo de este foro puesto en un princicio por destruktor, pero la dirrfrencia es que yono paso la conexion por parametro ya que paso los pojo directamente como parametros, pero el reporte me salio vacio(en blanco), y creo que era por q' cargaba el jasper sin ccompilar antes el jrxml, ahora les envio mi codigo y luego el error!!

/
Código:
***************codigo************************************/

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.data.*" %>
<%@ page import="net.sf.jasperreports.engine.fill.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.engine.util.*" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.view.*" %>
<%@ page import="net.sf.jasperreports.view.JasperViewer"%>
<%@ page import="net.sf.jasperreports.engine.xml.JRXmlLoader"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport" %>

<%@ page import="java.net.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.naming.Context"%>
<%@ page import="javax.naming.InitialContext"%>
<%@page import="alcohol.*"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>REPORTE DE PRUEBA</title>
    </head>
<% PruebaTDB Dpru = new PruebaTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Prueba Pru = null;%>
<% TerminalTDB Dter = new TerminalTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Terminal ter = null;%>
<% EmpresaTDB Demp = new EmpresaTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Empresa Empr = null;%>
<% ConductorTDB Dcon = new ConductorTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Conductor Con = null;%>
<% Usuario_operadorTDB Dusu = new Usuario_operadorTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Usuario_operador Usu = null;%>
<% OperadorTDB Dope = new OperadorTDB((ConeccionDB) application.getAttribute ("BaseDatos"));%>
<% Operador Ope = null;%>
    <body>
<form action="" method="post" name="Insertion" id="Insertion">
    <input name="prueba" type="text" id="prueba" style="display:none" value="<%=request.getParameter("prueba")%>">
</form>    
<% 

                Pru = Dpru.getPrueba(Integer.parseInt(request.getParameter("prueba")));
                  System.out.println(""+request.getParameter("prueba"));
                  if (Pru != null){
                       Con = Dcon.getConductor(Pru.getCedula(),0);
                       if (Con != null){
                           Empr = Demp.getEmpresa(Pru.getCod_empresa(),0);
                            if (Empr != null){
                                ter = Dter.getTerminal(Pru.getCod_terminal(),0);
                                 if (ter != null){
                                    Usu = Dusu.getUsuario_operador(Pru.getCod_usuario(),0);
                                     if (Usu != null){
                                         Ope = Dope.getOperador(Usu.getCod_operador(),0);
                                      }
                                  }
                               }
                            }
                         }
                        
        //net.sf.jasperreports.engine.JasperPrint print =null;
                //String ruta = "/reportes/reporte_prueba.jrxml";
                File sourceFile = new File(application.getRealPath("reportes/reporte_prueba.jrxml"));
                JasperDesign jasperDesign = JRXmlLoader.load(sourceFile);
                JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

                /*Context init = new InitialContext();
                Context context = (Context) init.lookup("java:comp/env");
                DataSource dataSource =(DataSource)context.lookup("ctal_alcohol");
                Connection conexion = dataSource.getConnection();*/

                //File sourceFile = new File(application.getRealPath("/reportes/reporte_prueba.jasper"));
                //System.out.println("ESTADO DEL REPORTE "+sourceFile.exists()+" "+sourceFile.canRead()+" "+sourceFile.length()+" "+sourceFile.getPath());

                /*Context c = new InitialContext();
                DataSource dataSource =(DataSource)c.lookup("java:comp/env/alcoholDB2");
                Connection conexion = dataSource.getConnection();*/

                //Se crea un mapa de parametros para pasar el reporte
                Map parameters = new HashMap();
        parameters.put("operador", Ope.getNombre());
                parameters.put("terminal", ter.getNombre());
                parameters.put("numero", Pru.getNum_prueba());
                parameters.put("fecha", Pru.getFecha());
                parameters.put("hora", Pru.getHora());
                parameters.put("cedula", Pru.getCedula());
                parameters.put("nombre_cedula", Con.getNombre());
                parameters.put("empresa", Empr.getNombre());
                parameters.put("placa", Pru.getPlaca());
                parameters.put("aprobado", Pru.getAprobado());
                parameters.put("resultado", Pru.getResultado());
                parameters.put("usuario", Usu.getNombre());


        try{
                //out.print("No hay error...");
                //JasperPrint print = JasperFillManager.fillReport(sourceFile.getPath(), parameters);
                JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters);

                byte[] bytes = JasperRunManager.runReportToPdf(jasperReport, parameters); 
                System.out.println("Si se ve este mensaje se compilo correctamente el REPORTE");
                response.setContentType("application/pdf");
                response.setContentLength(bytes.length);
                ServletOutputStream ouputStream = response.getOutputStream();
                ouputStream.write(bytes, 0, bytes.length);
                ouputStream.flush();
                ouputStream.close(); 
        }catch(Exception ex){
            out.print("ERROR AL CARGAR .... ");
        }




        JasperReport master=null;
        //master=(JasperReport) JRLoader.loadObject(urlMaestro);
%>

    </body>
</html>

/********************************fin codigo*********************/
Cita:
/**********************error*********************** *************/

avax.servlet.ServletException: Errors were encountered when compiling report expressions class file:
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:4: package net.sf.jasperreports.engine does not exist
import net.sf.jasperreports.engine.*;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:5: package net.sf.jasperreports.engine.fill does not exist
import net.sf.jasperreports.engine.fill.*;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:14: package net.sf.jasperreports.engine does not exist
import net.sf.jasperreports.engine.*;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:15: package net.sf.jasperreports.engine.data does not exist
import net.sf.jasperreports.engine.data.*;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:21: cannot find symbol
symbol: class JREvaluator
public class reporte_prueba_1188924664546_385463 extends JREvaluator
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:28: cannot find symbol
symbol : class JRFillParameter
location: class reporte_prueba_1188924664546_385463
private JRFillParameter parameter_REPORT_RESOURCE_BUNDLE = null;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:29: cannot find symbol
symbol : class JRFillParameter
location: class reporte_prueba_1188924664546_385463
private JRFillParameter parameter_REPORT_CLASS_LOADER = null;
^
C:\Archivos de programa\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\bin\reporte_prueba_1188924664546_385463.jav a:30: cannot find symbol
symbol : class JRFillParameter
location: class reporte_prueba_1188924664546_385463
private JRFillParameter parameter_terminal = null;


///////************************************************/
asi sucesivamente es basicamente como si no tomara las librerias del pryecto para compilar el jrxml.

y ya las cargue todas aal proyecto!!

estoy trabajando NetBeans 5.5 JDK 1.5.0_12, IReports 1.2.5 y JasperReports 1.2.5
me he recorrido el for esta vida y la otra muy bueno y todo pero porfa Ayudenme si tienen algua Idea!!!!!!

PD: mi correo por si algo: [email protected]
  #909 (permalink)  
Antiguo 04/09/2007, 14:29
Avatar de varonmarcos  
Fecha de Ingreso: agosto-2007
Ubicación: Colombia
Mensajes: 4
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Concatenar dos PDF Resuelto

Cita:
Iniciado por yimenz Ver Mensaje
Desktructor ya pude concatenar dos pdf en Uno.

De este modo se pueden hacer dos reportes diferentes y unirlos en uno solo, aca les dejo el codigo, esta explicado.

Codigo:
Código:
<%@ page import = "BaseDatos.Acceso" %>
<jsp:useBean id = "acceso" scope="page" class="BaseDatos.Acceso"/>

<%@ page import="net.sf.jasperreports.engine.*" %> 
<%@ page import="net.sf.jasperreports.engine.design.*" %> 
<%@ page import="net.sf.jasperreports.engine.data.*"%> 
<%@ page import="net.sf.jasperreports.engine.export.*"%> 
<%@ page import="net.sf.jasperreports.engine.util.*"%> 
<%@ page import="net.sf.jasperreports.view.*"%> 
<%@ page import="net.sf.jasperreports.view.save.*"%> 
<%@ page import="com.lowagie.text.pdf.PdfCopyFields"%> 
<%@ page import="com.lowagie.text.pdf.PdfReader"%> 

<%@ page import="java.sql.Connection"%> 
<%@ page import="java.util.*" %> 
<%@ page import="java.io.*" %> 

<html> 
<head><title>Generando Reporte Historia de Ingreso...............</title>
<head> 

<%
/*Declaro e inicializo la variable codigobebe, para enviarla como parametro*/
String codigobebe="0";
if (request.getParameter("codigobebe")!=null)
	codigobebe = request.getParameter("codigobebe");
/*FIN Declaro e inicializo la variable codigobebe, para enviarla como parametro*/			

try{
	String ResultadoConexion = acceso.Conectar();
	if ("Ok".equals(ResultadoConexion))
	{
			/*<Obtengo una conexión de la Base de datos>*/
		Connection conn = acceso.getConexion();

			/*<Cargamos el jasperreports-0.6.7.jar OK>*/
		System.setProperty("jasper.reports.compile.class.path", application.getRealPath("/WEB-INF/lib/jasperreports-0.6.7.jar") + 
					System.getProperty("path.separator") + 
					application.getRealPath("/WEB-INF/classes/"));

	/*<Primer reporte>*/
		/*<Compilamos el primer reporte historiaIngreso.jrxml>*/
			System.setProperty("jasper.reports.compile.temp", application.getRealPath("/WEB-INF/reportes/")); 
			JasperCompileManager.compileReportToFile(application.getRealPath("/WEB-INF/reportes/historiaIngreso.jrxml"));
		/*<FIN de compilar el primer reporte historiaIngreso.jrxml>*/
			
		/*<Obtenemos el archivo .jasper historiaIngreso.jasper>*/
			File reportFile = new File(application.getRealPath("/WEB-INF/reportes/historiaIngreso.jasper")); 
		
		/*<Enviamos los parametros al reporte, en este ejemplo utilizo los mismos parametros para los dos reportes>*/
			Map parameters = new HashMap(); 
			parameters.put("CODIGO_BEBE",codigobebe);
		
		/*<Generamos el reporte en PDF, se guarda en una variable tipo bytes>*/
			byte[] bytes = JasperRunManager.runReportToPdf( reportFile.getPath(), parameters, conn ); //Generar reporte PDF
	/*<FIN Primer reporte>*/
	
	/*<Segundo reporte>*/
 		/*<Compilamos el segundo reporte historiaIngreso2.jrxml>*/
			JasperCompileManager.compileReportToFile(application.getRealPath("/WEB-INF/reportes/historiaIngreso2.jrxml"));
		/*<FIN de compilar el segundo reporte historiaIngreso2.jrxml>*/
		
		/*<Obtenemos el archivo .jasper historiaIngreso2.jasper>*/
			File reportFile2 = new File(application.getRealPath("/WEB-INF/reportes/historiaIngreso2.jasper")); 
		
		/*<Generamos el reporte en PDF, se guarda en una variable tipo bytes>*/
			byte[] bytes2 = JasperRunManager.runReportToPdf( reportFile2.getPath(), parameters, conn ); //Generar reporte PDF
	/*<FIN Segundo reporte>*/
		
		/*<Concatenamos los dos reportes>*/
			PdfReader reader1 = new PdfReader(bytes);
			PdfReader reader2 = new PdfReader(bytes2);
			PdfCopyFields copy = new PdfCopyFields(new FileOutputStream(application.getRealPath("/WEB-INF/reportes/historiaIngreso3.pdf")));
			copy.addDocument(reader1);
			copy.addDocument(reader2);
			copy.close();
		/*<Concatenamos los dos reportes>*/
		
		/*<Ahora debemos leer el reporte que creamos en /WEB-INF/reportes/ y enviarlo al navegador para su descarga>*/
		
			/*<Se manda como tipo pdf al navegador>*/
				response.setContentType("application/pdf");
			/*<Se envia como adjunto, para que aparesca la ventana de Abrir con ó Guardar como>*/
				response.setHeader ("Content-Disposition", "attachment;filename=\"historiaIngreso3.pdf\"");

			/*<Se lee el Archivo pdf que creamos>*/
				InputStream archivo = new FileInputStream(application.getRealPath("/WEB-INF/reportes/historiaIngreso3.pdf")); 
			/*<Se crea una variable de salida para el navegador>*/
				ServletOutputStream outs = response.getOutputStream();
			
			/*<Se lee el contenido del Archivo PDF y se envia a la variable de salida>*/
				int bit = 256;
				int i = 0;
		
				while ((bit) >= 0) {
				bit = archivo.read();
				outs.write(bit);
				}
				
			/*<Forzamos a enviar los datos al navegador>*/
				outs.flush(); 
			/*<Se cierra la variable de salida y el archivo PDF>*/
				outs.close();
				archivo.close();
   }
   if ("NO OK".equals(ResultadoConexion))
		out.println("<font color = 'red'>No se pudo conectar a la base de datos, comuniquese con el desarrollador de la aplicación.</font>");
}catch (JRException e)
{out.println("Error:" +e.getMessage());}
catch (Exception e)
{e.printStackTrace(); out.println("Error2:" +e.getMessage());
}
%>
<body onLoad="window.document.close();"> 
</body>
</html>
Este codigo basicamente lo que hace es lo siguiente: carga el jasperreports.jar para luego compilar y ejecutar dos reportes, despues concatena estos dos reportes en un pdf y finalmente lo envia al navegador.
Hola, probe tu codigo y me funciono pero me bota el reporte PDf en blanco, pero seteo los parametros y estan bien no se que pasa!!!, te encargo una ayuda, mi codigo esta en la ultima pagina de este foro!!!

gracias!!!
  #910 (permalink)  
Antiguo 04/09/2007, 16:58
Avatar de jucardo  
Fecha de Ingreso: agosto-2007
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Jasper Report + iReport + NetBeans 4

Me podrian decir que paquete contiene estos dos archivos o donde los puedo bajar

com.lowagie.text.pdf.PdfCopyFields
com.lowagie.text.pdf.PdfReader

gracias
  #911 (permalink)  
Antiguo 06/09/2007, 08:12
 
Fecha de Ingreso: septiembre-2007
Mensajes: 1
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Hola todos:
Estoy iniciandome en JaperReport pero tengo una dificultad. Hice un reporte en iReport 2.0, el reporte tiene dos campos (field) que son visualizados en el detalle del reporte.

Luego desarrolle una aplicacion en java para ejecutar el reporte mas o menos asi:

if(rsData != null){

ResultSetDataSource dataSource = new JRResultSetDataSource(rsData);
jp = JasperFillManager.fillReport(archivoJasper, hmParametros, dataSource);
}else{
jp = JasperFillManager.fillReport(archivoJasper, hmParametros, new JREmptyDataSource());
}

la rsData la lleno de la siguiente forma:

cConn = obtenerConexion();
Statement stQuery = cConn.createStatement();
ResultSet rsData = stQuery.executeQuery("SELECT IDAREA CODIGO, NOMBRE FROM PRUEBA");

ya me asegure que retorne datos.

Ahora cuando ejecuto la aplicacion me sale este mensaje:
net.sf.jasperreports.engine.JRException Unable to get next record.

y sigue ademas esto.....

07/09/05 11:31:04 at co.com.trebol.util.reports.JasperReport.generarJas perPrint(JasperReport.java:66)
07/09/05 11:31:04 at co.com.trebol.util.reports.GenerarArchivoPdf.gener arArchivoPdf(GenerarArchivoPdf.java:61)
07/09/05 11:31:04 at pruebas.EjemploReport.generarReportes(EjemploRepor t.java:130)
07/09/05 11:31:04 at _jspEjemploReport._jspService(_jspEjemploReport.ja va:49)
07/09/05 11:31:04 at com.orionserver.http.OrionHttpJspPage.service(Orio nHttpJspPage.java:59)
07/09/05 11:31:04 at oracle.jsp.runtimev2.JspPageTable.service(JspPageT able.java:462)
07/09/05 11:31:04 at oracle.jsp.runtimev2.JspServlet.internalService(Js pServlet.java:594)
07/09/05 11:31:04 at oracle.jsp.runtimev2.JspServlet.service(JspServlet .java:518)
07/09/05 11:31:04 at javax.servlet.http.HttpServlet.service(HttpServlet .java:856)
07/09/05 11:31:04 at com.evermind.server.http.ServletRequestDispatcher. invoke(ServletRequestDispatcher.java:713)
07/09/05 11:31:04 at com.evermind.server.http.ServletRequestDispatcher. forwardInternal(ServletRequestDispatcher.java:370)
07/09/05 11:31:04 at com.evermind.server.http.HttpRequestHandler.doProc essRequest(HttpRequestHandler.java:871)
07/09/05 11:31:04 at com.evermind.server.http.HttpRequestHandler.proces sRequest(HttpRequestHandler.java:453)
07/09/05 11:31:04 at com.evermind.server.http.HttpRequestHandler.serveO neRequest(HttpRequestHandler.java:221)
07/09/05 11:31:04 at com.evermind.server.http.HttpRequestHandler.run(Ht tpRequestHandler.java:122)
07/09/05 11:31:04 at com.evermind.server.http.HttpRequestHandler.run(Ht tpRequestHandler.java:111)
07/09/05 11:31:04 at oracle.oc4j.network.ServerSocketReadHandler$SafeRu nnable.run(ServerSocketReadHandler.java:260)
07/09/05 11:31:04 at oracle.oc4j.network.ServerSocketAcceptHandler.proc ClientSocket(ServerSocketAcceptHandler.java:239)
07/09/05 11:31:04 at oracle.oc4j.network.ServerSocketAcceptHandler.acce ss$700(ServerSocketAcceptHandler.java:34)
07/09/05 11:31:04 at oracle.oc4j.network.ServerSocketAcceptHandler$Acce ptHandlerHorse.run(ServerSocketAcceptHandler.java: 880)
07/09/05 11:31:04 at com.evermind.util.ReleasableResourcePooledExecutor $MyWorker.run(ReleasableResourcePooledExecutor.jav a:298)
07/09/05 11:31:04 at java.lang.Thread.run(Thread.java:595)

Estoy usando jasperreports-2.0.1

Alguien sabe porque se produce esto? ya probe cambiando el reporte en el iReport usando el query directamente en el reporte y enviandole la conexion como parametro y me funciona bien, de la unica forma que no me funciona es enviadole el DataSource.


Cualquier aporte que me puedan hacer se los agradezco.

Saludos

Jose Luis Urrea
  #912 (permalink)  
Antiguo 07/09/2007, 07:53
Avatar de jucardo  
Fecha de Ingreso: agosto-2007
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Concatenar dos PDF Resuelto

Varonmarcos gracias por este ejemplo tan claro; precisamente estaba investigando la forma de concatener pdf. Ha sido muy util el ejemplo que nos diste. Nuevamente mil gracias.
  #913 (permalink)  
Antiguo 08/09/2007, 09:40
Avatar de jucardo  
Fecha de Ingreso: agosto-2007
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Jasper Report + iReport + NetBeans 4

buenos dias a todos.
Alguno conoce la forma de cargar imagnes de forma dinamica con jasper-ireport
de tal forma que pueda darme una manito?
  #914 (permalink)  
Antiguo 10/09/2007, 05:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Cita:
Iniciado por pacowar Ver Mensaje
Alguien que domine un poquito de subreports a ver si me puede echar un cable.

Tengo 1 report y 1 subreport. El subreport relleno la información mediante un datasource (en vez de una conexión). El subreport lo compilo, lo pruebo y va bien.

El problema viene cuando lo tengo que mostrar en el report Manager (el principal). No da error pero no se me muestra nada del subreport.

Alguien podría explicarme como se puede mostrar un subreport en un report utilizando un datasource y no una conexión??

PD: He mirado el manual de Francesc Rosés, pero no explica como usar con un datasource.

Gracias ;)
Hola, me parece haber leido más adelante en este foro que conseguiste solucionar este problema.
Yo creo estar ante un problema similar. Dispongo de un report y un subreport, cada cual debe obtener la información de un datasource distinto. En realidad el dataSource es el mismo fichero XML pero con distinta XPath, lo que CREO significa tener dos dataSources distintos. El caso es que individualmente funcionan pero no logro mostrar el report con el subreport en su interior.

Utilizando el ireport2.0.1 creo en el masterReport el cuadro donde debe aparecer el subinforme. Creo dos parametros, SUBREPORT de tipo JasperReport y MyDataSource de tipo JRDataSource.

Luego con un doble click sobre el informe, lo edito: En la pestaña 'subinforme (otros)' coloco la expresión del Subreporte: $P{SUBREPORT} del tipo JasperReport

En la pestaña 'subinforme' modifico el tipo de conexión a fuente de datos y añado: $P{MyDatasource}

No sé qué hago mal, si hay algo más que añadir o que?¿?¿

Se agradece de antemano cualquier sugerencia.

Saludos.
  #915 (permalink)  
Antiguo 11/09/2007, 11:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 24
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

hola a todos
problema con fechas

estoy usando iReport para crear algunos reportes
la situacion es la siguiente:

select * from nacimientos where nacimientos.fecha
>=$P{pFecha}+285

donde pFecha es un parametro de tipo string
la consulta no da error pero tampoco tiene el cuenta
la suma de 285 dias

el motor de base de datos es access

desde ya muchas gracias

juanma
  #916 (permalink)  
Antiguo 11/09/2007, 13:39
 
Fecha de Ingreso: septiembre-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
java.lang.OutOfMemoryError en formato xls

destruktor
no todo puede ser buenas noticias, al momento de que realizo mi reporte, me marca la siguiente exception java.lang.OutOfMemoryError.
Me imagino que es por el numero de registros que encuentra.
Lo genera bien en pdf , rtf , html y xls
Realiza un reporte en XLS Excel, me lo muestra cuando son menos de 1000 registros, pero cuando son 3000 reg. me marca el error que les comento.
El reporte debe estar en una sola pagina de excel sin realizar paginacion
Mi codigo es



public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
IObjectPersisterService service = (IObjectPersisterService) ServiceLocator.getInstance().getService(IObjectPer sisterService.class);

service.open();
Session session = service.getSession();

if (form != null){
InformeAlumnoForm alForm = (InformeAlumnoForm) form;
UserView uv = (UserView) request.getSession().getAttribute("USUARIO");

String reportType = alForm.getTipo();
String informeAlumno = alForm.getNombre();
String centro = alForm.getCentro();
String curso = alForm.getCurso();
try {
//cargar los parametros para el reporte
HashMap reportParams = new HashMap();
reportParams.put("User", uv.getNombre() + " " + uv.getApellidos());
String criterio = "";
if (centro.equals("")){
centro = "Todos los centros";
}else {//Selecciona un solo centro
criterio = "co.codigo = '" + centro + "' and ";
}

reportParams.put("Centro", centro);
ItemView iv= new ItemView();

String info ="";
String query;
if (informeAlumno.equals("AluCentro")){
iv.setId("AluCentro");
iv.setDescripcion("Alumnos por Centro");
info = "Alumnos por Centro";
query="select co.codigo as codcentro, co.nombre as nombrecentro, co.direccion as direccioncentro, al.dni as dni, aludata.nombre as nombrealu, aludata.apellidos as apellidosalu, aludata.fanacimiento as fnacimientoalu, aludata.domicilio as domicilioalu, aludata.provincia as provinciaalu, aludata.cp as cpalu, aludata.sexo as sexoalu from centroocupacional co, alumno al, datosalumno aludata where " + criterio + " co.codigo = al.codigocentro and al.dni = aludata.dni order by co.codigo, aludata.dni";
}else if (informeAlumno.equals("EdicionCurso")){
iv.setId("EdicionCurso");
iv.setDescripcion("Ediciones de Cursos por Centro");
info = "Ediciones de Cursos por Centro";
query="SELECT cur.codigo AS codcurso, cur.nombre AS nombrecurso, edi.codigo AS codedicion, edi.finicio AS fechainiedi, edi.ffin AS fechafinedi, edi.alumnosi AS aluiniedi, edi.alumnosf AS alufinedi FROM curso cur, edicionescurso edi, centroocupacional co WHERE " + criterio + "cur.codigo = edi.codigocurso AND edi.codigocentro = co.codigo " +
"GROUP BY edi.codigo, cur.codigo, cur.nombre, edi.finicio, edi.ffin, edi.alumnosi, edi.alumnosf ";
} else { //if (informeAlumno.equals("AluEdiciones"))
iv.setId("AluEdiciones");
iv.setDescripcion("Alumnos de Ediciones");
info = "Alumnos de Ediciones";
query="SELECT cur.codigo AS codcurso, cur.nombre AS nombrecurso, edi.codigo AS codedicion, edi.finicio AS fechainiedi, edi.ffin AS fechafinedi, edi.alumnosi AS aluiniedi, edi.alumnosf AS alufinedi, alu.dni AS dni, aludata.nombre AS nombrealu, aludata.apellidos AS apellidosalu, aludata.fanacimiento AS fnacimientoalu, aludata.domicilio AS domicilioalu, aludata.provincia AS provinciaalu FROM curso cur, edicionescurso edi, alumnosporcurso aluxcur, alumno alu, datosalumno aludata, centroocupacional co where " + criterio + "cur.codigo = edi.codigocurso AND alu.dni = aluxcur.codigoalumno AND aluxcur.codigoediciones = edi.codigo AND alu.codigocentro = edi.codigocentro AND alu.dni = aludata.dni AND edi.codigocentro = co.codigo " +
"GROUP BY cur.codigo, cur.nombre, edi.codigo, edi.finicio, edi.ffin, edi.alumnosi, edi.alumnosf, alu.dni, aludata.nombre, aludata.apellidos, aludata.fanacimiento, aludata.domicilio, aludata.provincia ";
}
reportParams.put("Info", info);
reportParams.put("Query", query);


String path = super.getPathReportes();

//Create Datasource

String inputXML = path + informeAlumno + ".xml";
reportParams.put("Path", path);
logger.debug("query"+query);
logger.debug("query"+query);
logger.debug("Type"+reportType);


ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
CreateReport aStreamReport = new CreateReport(inputXML, reportType, byteArrayOutputStream, reportParams, session.connection());


sendData(response,byteArrayOutputStream,"ReporteAl umnos." + reportType.toLowerCase());


} catch (Exception e) {
e.printStackTrace();
}

}
return mapping.findForward("showReport");

}

Última edición por marcko_23; 11/09/2007 a las 14:16 Razón: informacion
  #917 (permalink)  
Antiguo 11/09/2007, 15:35
Avatar de glomer  
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Archivos EXCEL

Cita:
Iniciado por DestruKtor Ver Mensaje
Para todos lo que siguen preguntando por privado como exportar a Excel desde un JSP, la cosa es asi:

Código:
//Cargamos la definicion del reporte *.jasper
java.io.File reportFile = new java.io.File(JasperFilesSource + filejasper );
     
//cargamos parametros del reporte (si tiene).
Map parametros = new HashMap();
			 
//Generar XLS. 
//Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).

JasperPrint jasperPrint=JasperFillManager.fillReport(reportFile.getPath(), parametros, conexion);
                
//Nombre archivo resultado.
//Sugerencia: traten de generar un nombre dinamico concatenando fecha y hora para evitar se pisen los reportes al tener el mismo nombre.
 String xlsFileName = "archivo.xls";
               
                
//Creacion del XLS
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,xlsFilesSource + xlsFileName);
                exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();

//En este punto ya esta Creado el XLS
				
				
//Ahora lo Voy a Leer Y A forzar al Navegador Muestre Dialogo Para descargar el archivo
//Funciona En IE y Firefox
           
				
//Leer el archivo.
File f = new File (xlsFilesSource + xlsFileName);
				
//Configurar el tipo de archivo.
response.setContentType ("application/vnd.ms-excel");
				
//Obtener el Nombre del archivo.
String name = f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length());
				
//Configurar cabecera y nombre de archivo a desplegar en DialogBox.
				response.setHeader ("Content-Disposition", "attachment;filename=\"" + xlsFileName + "\"");
				
				
InputStream in = new FileInputStream(f);
ServletOutputStream outs = response.getOutputStream();
		
int bit = 256;
int i = 0;
				
while ((bit) >= 0) {
        	bit = in.read();
        	outs.write(bit);
}
					
outs.flush();
outs.close();
in.close();
Noten que tras generar el archivo lo leeo y envio al browser para su descarga al pd del cliente desplegando el dialogo de descarga. para quien preguntaba si era necesario configurar algo en el reporte para generarlo en exel, pues no, uno al crear el reporte el reporte se genera en el formato que uno desee, dependiendo el metodo de exportacion que utilize. nada más. lo que tienen que tener en cuenta es que cuando exporten a exell solo se exporta el texto, NO las imagenes, asi que diseñen el reporte teniendo en cuenta estos detalles

Saludos a tododos!!
  #918 (permalink)  
Antiguo 11/09/2007, 15:42
Avatar de glomer  
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Hola me parece muy buena la logica de el archivo en excel, yo soy nuevo en esto y estoy tratando de entenderle, espero me puedas ayudar.
Yo genero el pdf y me lo guarda en el disco del servidor pero no logro invocarlo para abrirlo y poderlo ver, hay unas soluciones ya en el foro lo malo es que todas la clase que lo corre esta la sesion del servidor y yo le pasa la consulta y no el parametro asi que lo hago en una clase y luego la mando a traer.
Ahora el excel no lo he genera en tu logica me puedes decir que es xlsFilesSource
o como lo generas como paso ese parametro?
Gracias
anexo el codigo

public void ReporteRolTurnoM(int folio) throws JRException,SQLException,Exception
{
conn = getConexion();
stmt = conn.createStatement();
StringBuffer sb = new StringBuffer();
Map mapa = new HashMap();
try
{
if(!conn.isClosed())
{
FileInputStream file = new FileInputStream("C:\\Archivos de programa\\JasperSoft\\iReport-1.3.3\\RolTurnoM.jasper");
String pdffile = "C:\\Archivos de programa\\JasperSoft\\iReport-1.3.3\\RolTurnoM.pdf";
String xlsFileName = "C:\\Archivos de programa\\JasperSoft\\iReport-1.3.3\\RolTurnoM.xls";
sb.append("SELECT t1.i35_folrol, t1.i35_numpla, t1.d35_fecini, t1.d35_fecfin, t1.i35_tiprol, t1.c35_starol, ");
sb.append(" t2.i42_numemp, t2.i42_cvetno, t2.i42_diauno, t2.i42_diados, t2.i42_diatre, t2.i42_diacua, ");
sb.append("t2.i42_cvemov, t2.d42_fecini, t2.d42_fecfin, t2.i42_cvepto, t3.c20_nomemp, t3.c20_apater, t3.c20_amater,");
sb.append("t4.c34_destip, t5.c19_nompla, t6.c21_destno, t7.c33_desmot, t8.c36_desdia a, t9.c36_desdia b,");
sb.append("t10.c36_desdia c, t11.c36_desdia d");
sb.append(" FROM t35_roltno t1, t42_emprol t2, t20_emplea t3, t34_tiprol t4,t19_plazas t5,t21_turnos t6 ");
sb.append(",t33_motivo t7,t36_semana t8,t36_semana t9, t36_semana t10, t36_semana t11");
sb.append(" WHERE t1.i35_folrol = ");
sb.append(folio);
sb.append(" and t1.c35_starol = 'A' ");
sb.append(" and t3.i20_cveemp = ( SELECT t2.i42_numemp FROM t42_emprol t1 WHERE t1.i42_numemp = t3.i20_cveemp ");
sb.append(" and t1.i42_cverol = ");
sb.append(folio);
sb.append(")");
sb.append(" and (t2.i42_cvepto = 11 or t2.i42_cvepto = 12 or t2.i42_cvepto = 13 or t2.i42_cvepto = 25 or t2.i42_cvepto = 26 or t2.i42_cvepto = 27 or t2.i42_cvepto = 33 or t2.i42_cvepto = 34 or t2.i42_cvepto = 38 or t2.i42_cvepto = 35 or t2.i42_cvepto = 39 or t2.i42_cvepto = 18 or t2.i42_cvepto = 20 or t2.i42_cvepto = 30)");
sb.append(" and t4.i34_cvetip = (SELECT t1.i35_tiprol FROM t35_roltno t1 WHERE t1.i35_folrol = ");
sb.append(folio);
sb.append(")");
sb.append(" and t5.i19_cvepla = (SELECT t1.i35_numpla FROM t35_roltno t1 WHERE t1.i35_folrol = ");
sb.append(folio);
sb.append(")");
sb.append(" and t6.i21_cvetno = ( SELECT t2.i42_cvetno FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(" and t7.i33_cvemot = ( SELECT t2.i42_cvemov FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(" and t8.i36_cvedia = ( SELECT t2.i42_diauno FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(" and t9.i36_cvedia = ( SELECT t2.i42_diados FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(" and t10.i36_cvedia = ( SELECT t2.i42_diatre FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(" and t11.i36_cvedia = ( SELECT t2.i42_diacua FROM t42_emprol t1 WHERE t1.i42_cverol = t1.i35_folrol and t1.i42_numemp = t3.i20_cveemp)");
sb.append(";");

trace(sb.toString());

ResultSet rs = stmt.executeQuery(sb.toString());

JasperReport jr = (JasperReport)JRLoader.loadObject(file);
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
JasperPrint jp = JasperFillManager.fillReport(jr,mapa,jrRS);

JasperExportManager.exportReportToPdfFile(jp, pdffile);


JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_P RINT, jp);
exporter.setParameter(JRExporterParameter.OUTPUT_F ILE_NAME,xlsFilesSource + xlsFileName);
exporter.setParameter(JRXlsExporterParameter.IS_ON E_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();


// JasperViewer.viewReport(jp);
JasperViewer.viewReport(jp,false);
// JasperPrintManager jpm = new JasperPrintManager();
// jpm.printReport(jp,false);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
  #919 (permalink)  
Antiguo 14/09/2007, 15:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Re: Jasper Report + iReport + NetBeans 4

Hola
Como estan Forer@s?

Bueno, hace tiempo que uso iRepor y lo considero una muy buena herramienta, pero me han puesto a hacer un reporte, para un software que me ha dejado O_O.

He estado probando, buscando en google,.., pero no logro hacer, algo aparentemente tan sencillo.


Es posible crear un reporte de esta forma:


Pais 1 Departamento1 Ciudad Longitud Este
Departamento2 Ciudad Longitud Este
Departamento3 Ciudad Longitud Este
Pais 2 Departamento1 Ciudad Longitud Este
Departamento2 Ciudad Longitud Este

Departamento3 Ciudad Longitud Este

...


(esta es la salida original, como normalmente se hace)

Pais 1 Departamento1 Ciudad Longitud Este

Pais 1 Departamento2 Ciudad Longitud Este

Pais 1 Departamento3 Ciudad Longitud Este

Pais 2 Departamento1 Ciudad Longitud Este

Pais 2 Departamento2 Ciudad Longitud Este

Pais 2 Departamento3 Ciudad Longitud Este


Es decir, es posible ocultar, quitar los paises repetidos, lo que esta con negrita.

Gracias de antemano.
  #920 (permalink)  
Antiguo 15/09/2007, 10:09
 
Fecha de Ingreso: marzo-2006
Mensajes: 11
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Creo que estas en la idea correcta
- el sub report - muestra la lista de Objetos de detalle.
Tu quieres saber como engancharlo con el cabezal ???

Para ello es igual que con las sentencias SQL, el parámetro es el Objeto mismo que muestra el cabezal, solo que ambos listan propiedades diferentes de él.

Lo puedes solucionar sin utilizar subreports. agrupando por el att ID del Objeto en cuestión.
  #921 (permalink)  
Antiguo 15/09/2007, 10:13
 
Fecha de Ingreso: marzo-2006
Mensajes: 11
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

si programas la expresión del att a mostrar, por ejemplo usando un contador creo que puedes solucionarlo
  #922 (permalink)  
Antiguo 17/09/2007, 05:31
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
Problemas con los subreports

Hola a tod@s, tengo un problema con los subreportes, en el ireports cuando lo ejecuto me funciona, pero desde java cuando ejecuto la

instruccion
jasperPrint = JasperFillManager.fillReport(jasperReport, parametros,conexion);

me da esta excepcion
net.sf.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 10200, local class serialVersionUID = 10002

muchas gracias por la ayuda, si alguien tiene alguna alternativa.
  #923 (permalink)  
Antiguo 04/10/2007, 10:04
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
alguien me puede ayudar

Tengo este codigo y no hace nada:

package egroupware;


import com.mysql.jdbc.Connection;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import java.sql.DriverManager;
import java.sql.SQLException;

import java.util.HashMap;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;


public class groupware extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

public void init(ServletConfig config) throws ServletException {
super.init(config);
}

/**
*@throws SQLException Esta excepcion se debe a un error conectando.
*/
private static Connection getConnection() throws ClassNotFoundException,
SQLException {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
return (Connection)DriverManager.getConnection("jdbc:mysq l://wiki.superservicios.gov.co/egroupware","reportes", "4f2419a0e");
}

public void doGet(HttpServletRequest request,
HttpServletResponse response) {
System.out.print("Estoy por el Get");
}

/**
* @param request
* @param response
* @throws ServletException
* @throws IOException
* @throws ClassNotFoundException
* @throws SQLException
* @throws JRException
*/
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out;
out = response.getWriter();
try {

/*
String consulta = request.getParameter("consulta");
String nivel = request.getParameter("nivel");
String area = request.getParameter("area");*/


HashMap parametros = new HashMap();

out.println("Iniciando..");

/* parametros.put("TIPO DE CONSULTA", consulta);
parametros.put("NIVEL DE CONSULTA", nivel);
parametros.put("DEPENDENCIA ", area);*/

Connection con;
String archivo = "WEB-INF/classes/egroupware/Reporte2";
ServletContext context =
this.getServletConfig().getServletContext();
File reportFile;
reportFile =new File(context.getRealPath("/" + archivo + ".jasper"));

con = this.getConnection();


System.out.println(reportFile.getPath());
JasperReport jasperReport =(JasperReport)JRLoader.loadObject(reportFile.getP ath()); //trae el archivo;

out.println("llenando el reporte..." + parametros);
JasperPrint print = JasperFillManager.fillReport(jasperReport, parametros, con);
byte[] bytes = null;
bytes =JasperRunManager.runReportToPdf(reportFile.getPat h(), parametros, con);
if (bytes != null && bytes.length > 0) {
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
con.close();

} catch (Throwable ex2) {
System.out.println("Error al generar reporte" + ex2.getMessage());

}
  #924 (permalink)  
Antiguo 04/10/2007, 18:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Cita:
Iniciado por tavo22 Ver Mensaje
que onda cecijo, pues mira, lo que hice fue copiar los sig. archivos:

commons-beanutils.jar
commons-collections-2.1.jar
commons-dogester-1.7.jar
commons-logging-1.0.2.jar
itext-1.3.1.jarjasperreports-1.3.3.jar
poi-2.0-final-20040126.jar
iReport.jar

estos archivos se encuentran en /iReport-1.3.3/lib, copialos y pegalos en esta carpeta C:\Archivos de programa\Java\jdk1.6.0_01\jre\lib\ext (esta carpeta es la que yo utilizo) eso fue todo lo que hice y ya funcionó.

si aún no funciona, no dudes en preguntar, nos vemos.

yo tengo otra duda, a ver si alguien puede ayudarme:

en la aplicación java que utilizo :
import java.sql.*;
import java.util.*;
import java.lang.*;
import javax.swing.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.view.*;

public class informe extends JFrame{
static Connection conn = null;
public informe()
{

}

private static Connection conexion() throws ClassNotFoundException, SQLException
{
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found.");
System.exit(1);
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/informe","root", "123");
System.out.println("Si se conecta.");
}
catch (SQLException e) {
System.out.println("Error de conexión: " + e.getMessage());
System.exit(4);
}
return conn;
}

public static void main(String[] args)
{
try
{
String filename = "C:\\informe\\x.jasper";
String filepdf = "C:\\informe\\pdf\\admini_project.pdf";
String xmlfile = "C:/reporte/admini_project.jrxml";

Map parametros = new HashMap();
parametros.put("id","nom");
//JasperDesign jd = JRXmlLoader.load(xmlfile);
//JasperReport report = JasperCompileManager.compileReport(jd);
JasperPrint print = JasperFillManager.fillReport(filename,parametros,c onexion());
JasperExportManager.exportReportToPdfFile(print,fi lepdf);
JasperViewer.viewReport(print,false);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}

en la línea de parametros.put solo puedo usar dos parametros, lo que quiero saber es como utilizar mas de dos parametros, ya que me hizo falta la parte de reportes en un proyecto por esa causa, si pueden ayudarme por favor, se los agradezco.

tengo el mismo codigo pero me aparece esto
estoy trabajando desde eclipse

java.lang.NullPointerException
  #925 (permalink)  
Antiguo 04/10/2007, 18:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

por favor
que es
  #926 (permalink)  
Antiguo 04/10/2007, 18:09
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Cita:
Iniciado por Xesar Ver Mensaje
tengo el mismo codigo pero me aparece esto
estoy trabajando desde eclipse

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

public class informe extends JFrame{
static Connection conn = null;
public informe()
{

}

private static Connection conexion() throws ClassNotFoundException, SQLException
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e) {
System.out.println("My JDBC Driver not found.");
System.exit(1);
}
try {
conn = DriverManager.getConnection("jdbc:odbc:Refaccionar ia_Del_Sureste"," ", " ");
System.out.println("Si se conecta.");
}
catch (SQLException e) {
System.out.println("Error de conexión: " + e.getMessage());
System.exit(4);
}
return conn;
}

public static void main(String[] args)
{
try
{
String filename = "C:\\julio.jasper";
String filepdf = "C:\\julio.pdf";
String xmlfile = "C:\\julio.jrxml";


//JasperDesign jd = JRXmlLoader.load(xmlfile);
JasperReport report = JasperCompileManager.compileReport(xmlfile);
JasperPrint print = JasperFillManager.fillReport(filename,new HashMap(),conexion());
JasperExportManager.exportReportToPdfFile(print,fi lepdf);
JasperViewer.viewReport(print,false);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}


me aparece
si se conecta
java.lang.NullPointerException
  #927 (permalink)  
Antiguo 11/10/2007, 09:53
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
Re: Jasper Report + iReport + NetBeans 4

Necesito ayuda con los jasperReports.

En el ireport me funciona siempre, pero cuando realizo cuando realizo la llamada desde la clase java me devuelve el informe si la consulta devuelve pocos datos, pero si son muchos se comporta como si la consulta no devolviera nada, pero lo he probado en el oracle y la consulta si devuelve filas. Alguien podría decirme como se puede arreglarlo.

Un saludo. Muchas gracias
  #928 (permalink)  
Antiguo 13/10/2007, 18:17
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: TRABAJO CON IREPORT

Buenas Noches a todos


Escribo asi porque no se como hacer una pregunta desde otro lado bueno,
Mi nombre es Camilo Soto soy estudiante de ingenieria de sistemas de la universidad catolica de colmbia estoy en cuarto semestre me fascina programar y todo aquello que tenga que ver con los sistemas, fisica, matematica, etc.. en fin esa era mi presentacion ahora JASPER e IREPORT question ??


Llevo dandole ya mas de una semana generando un reporte con un pequeno subreporte, he leido bastante y creo que lo tengo bien sin embargo cuando corro el reporte maestro desde ireport con su subreporte no lo genera o no se no sale nada como subreporte ni null porque aun no lo corro desde java

en el esquema tengo algo como

precio factura cedula nombre

$p{precio} etc

y aqui viene el subreporte

le estoy pasando un parametro de table model ya he puesto los campos donde va a mostrar los valores que llegan del subreporte


me gustaria que me echaran una mano no se que hacer
porfavor

muchas gracias
  #929 (permalink)  
Antiguo 16/10/2007, 02:01
 
Fecha de Ingreso: abril-2006
Mensajes: 6
Antigüedad: 18 años
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

Hola!

Tengo un problemilla con iReport a ver si se os ocurre algo.

Tengo un iReport base que es una banda de detail con un subinforme
Este subinforme tiene su cabecera, su detail y su page footer.

El problema es que quiero que el page footer quede siempre en la parte inferior de la página y siempre me lo pone justo debajo del detail y rellena el espacio sobrante para llenar la hoja debajo de este page footer.
Así la posición del page footer depende siempre del largo del detail (segun los datos que haya) y yo quería que siempre se colocara en la parte inferior de la página.

Se os ocurre algo?

Gracias!
  #930 (permalink)  
Antiguo 16/10/2007, 16:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 4
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Jasper Report + iReport + NetBeans 4

buenas a todos necesito que me orienten cree un reporte con ireport un listado y le paso el query desde un servlet y funciona perfecto ahora quiero crear uno que me muestre: cantidad almuerzo $P{cantidadalmu}
cantidad cena $P{cantidadcena}
pero no me sale nada en el reporte
mi pregunta aparte de crear el parametro que otra cosa se debe hacer en ireport
los parametros se los mando desde un servlet
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 16:47.