Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Jasper Report + iReport + NetBeans 4 (http://www.forosdelweb.com/f45/jasper-report-ireport-netbeans-4-a-280528/)

laraos 02/06/2005 09:29

Por favor
 
Alguien sabe como hacer para evitar que se lance un reporte PDF, cuando este no cumple unos parametros de entrada. Es decir cuando la consulta o query no retorna registros?

Gracias por la ayuda que puedan darme :-) !!!

patasgreen20 06/06/2005 13:51

laraos: Lo que puedes hacer
 
LARAOSLo que hago yo, que no se si te sirva, es lo sig. haz de cuenta que yo genero una busqueda, que muestro en pantalla, y luego si se desea generar el PDF o el archivo en XLS, coloco un boton que dice generar PDF o XLS, pero este boton esta deshabilitado cuando no encuentra registros, y habilitado cuando si, dentro del While de query coloco un contador, el cual me indica cuantos registros encontro, el la parte del boton de la jsp, le pongo una condicion de que cuando sea > a 0, me lo habilite y si es 0 me lo deshabilita, espero que esto te sirva de algo! :arriba:

stavera 07/06/2005 08:55

Para Laraos
 
Hola Laraos, veo que tu trabajas con parametros, queria saber si me puedes explicar un poco como coloco los parametros en mi jsp, tengo un reporte que por medio de una pagina me ingresar ciertos datos, esos datos los tomo como parametros para que genere el reporte, pero no he podido saber como los coloco en mi jsp, si me puedes ayudar en eso te lo agradeceria muchisimo, ah y también te pregunto si saber si en el query se puede realizar una seleccion multiple, te explico tengo un reporte donde debo colocar cierta información pero de diferentes tablas.


muchas gracias por la ayuda que me puedas brindar.

:adios:

laraos 08/06/2005 09:34

Muchas gracias patasgreen20, tengo una pregunta tu traes el recorset y ahi es donde te das cuenta de que no hay registros?

stavera, en el inicio del foro hay mas sobre parametros, aunque mira yo los trabajo asi:
//Tomo el parametro que viene de otra pagina, en este caso lo llame PERSONA_ID

String IdPersona = request.getParameter("PERSONA_ID");
Map mapParametros = new HashMap();
//Carga de parametros

//El primer campo se refiere al nombre tal cual lo llamaste en iReport o en la herramienta donde generas los jrxml; el segundo parametro es la variable IdPersona que cree inicialmente en la pagina (o que viene por teclado)

mapParametros.put("PERSONA_ID", IdPersona );

//le puedes pasar tantos parametros como quieras teniendo en cuenta la estructura mapParametros.put("Nombre del parametro definido en Ireport", Variable que ingresa por teclado);

patasgreen20 08/06/2005 10:31

LARAOS Pues se podria decir que si, tengo 2 jsp, una que me muestra la info en patalla que llamare "a" y otra que me muestra el PDF que llamare "b", en la primera JSP "a" tengo lo siguente

java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;


try
{
stmt = conna.createStatement();
} catch(Exception e)
{
System.out.println("Error stmt!"+ e);
}
j=0;
rs = stmt.executeQuery(sqltodo);

while (rs.next())
{
String cad1= rs.getString(1); if (cad1 == null ) cad1 = " ";
String cad2= rs.getString(2); if (cad2 == null ) cad2 = " ";
//ESTE CONTADOR MUESTRA CUANTOS REGISTROS HAY
j=j+1;

Luego en la parte de abajo de la jsp "a", coloco 1 boton "GENERAR PDF"
<form action="reportePDF.jsp" method="post" name="form3" " >
<input NAME="sub" TYPE="hidden" VALUE="NO">
<div aling="center">
<input type="submit" name="Submit" value="Generar PDF" <%if(j==0) {%>disabled = true <%}%> >
</div>
</form>

como podras ver el boton se deshabilita (es decir no puede ser precionado) si no encuentra registro alguno, si encuentra por lo menos 1 registro el boton es habilitado, y manda a otro jsp "b" que genera el pdf, aqui tienes varias opciones subir a session el QUERY desde el jsp "a" y recibirlo en la jsp "b", y meterlo al reporte!

laraos 08/06/2005 11:11

Muchas gracias patasgreen20 si me sirve!!
;-)

GraceV 09/06/2005 14:52

ayuda con el ireport y netbeans
 
Hola necesito ayuda baje la fuente del ireport y cree un nuevo proyecto en netbeans con condigo fuente existente donde le doy la ruta de la fuente q baje cuando lo compilo me sale muchos errores como por ejemp no existe el paquete net.sf.jaspereports.engine.JRReport.*; les agradeceria cualquier ayuda

wifer 11/06/2005 09:57

Salida a formato html
 
Hola Muchachos. Gracias por la participacion en el foro y por sus aportes de los cuales he aprendido mucho.

He leido todo el foro y veo que hablan de lo facil que es generar reportes con formato html, es tanto que hasta obvian ilustrarlo por lo fácil, pero yo trato de hacerlo desde un jsp invocando un .jasper y me genera el archivo bien, pero la abrirlo no lo hace bien, me sale desconfigurado, ingreso a la ruta donde lo genero, lo abro y esta excelente; mi codigo es el siguiente:

--------------------------------------------------------------
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="net.sf.jasperreports.engine.fill.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="net.sf.jasperreports.view.*"%>
<%@ page contentType="application/html" language="java" %>

<%
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
Connection conn = ds.getConnection();

String filejasper = "oferta.jasper";
String JasperFilesSource = "reportes/";

//Cargamos la definicion del reporte *.jasper
File reportFile = new File(application.getRealPath("/reportes/oferta.jasper"));

//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(reportFil e.getPath(), parametros, conn);

//Nombre archivo resultado.
String htmFilesSource = "/reportes/oferta.html";

//Creacion del html
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_P RINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_F ILE_NAME,application.getRealPath(htmFilesSource));
exporter.exportReport();

//Leer el archivo.
File f = new File (application.getRealPath(htmFilesSource));

//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=\" " + name + "\"");

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();

%>
-------------------------------------------------------------------------

si tienen alguna sugerencia les agradezco, les cuento ya pude lograrlo (gracias al foro) generando excel y pdf, ahora deseo que genere html pues me parece que se debe generar mas rápido; estare en lo cierto?

Mil gracias y que Dios los Bendiga.

WIfer

laraos 11/06/2005 14:33

GraceV siempre que tengas un problema de esa especie es por que no se encuentran esas clases en el directorio lib de tu proyecto.

joaquinalem 14/06/2005 14:02

Tenes que generarte una clase la impleten la interface JRDataSource
 
Cita:

Iniciado por llakare
Hola!!!
Primero, muchas gracias a todos los que respondieron (lmflores, patasgreen20 y stavera), ya solucioné mi problema. :aplauso:

Ahora tengo otra duda, estoy trabajando con struts y hibernate para el mapeo a una base relacional. En los códigos de ej. que vi, para usar el método
JasperRunManager.runReportToPdf(...), tengo que pasarle la conexión a la Bd, utilizando el DriverManager y demás...el tema es que en struts eso es transparente porque está todo configurado desde archivos xml, me gustaria saber si se puede hacer de otra forma, tal vez hay otro método para utilizar.
Alguien sabe donde puedo encontrar información sobre la documentación de las clases Jasper como JasperRunManager, por ej. ???
Mi otra consulta es:
Cómo puedo llenar los datos del reporte con los resultados que me dá una clase java??? (supongamos que invoco a un método q me retorna una lista de objetos ), es decir desde la JSP invoco al método y de ahi lleno el reporte.
Lei desde el comienzo del foro, no sé si mi duda se resuelve usando datasource, si alguien tiene un ejemplo, se lo agradeceré.
Desde ya muchas gracias, el foro está muy bueno, y es genial que la gente que sabe dedique parte de su tiempo a contestar y compartir sus conocimientos. Lamentablemente yo no sé lo suficiente como para poder contestar, por ahora :=(
Saludos

llakare


Deberias hacerte una clase que implemente la interface JRDataSource...
Ademas debes implementar los metodos next() y getField() a tu manera. (Usar Reflection o BeanUtils)
A su vez al constructor de esta clase tenes que pasarle la Lista donde estan todos los valores que queres que aparezcan en el Reporte

por Ejemplo:

import java.util.Iterator;
import java.util.List;
import org.apache.commons.beanutils.BeanUtils;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;

public class ReporteDS implements JRDataSource {

private Iterator iterator;
private Object currentValue;
private List data;
private int index=-1;


public ReporteDS(List list) {

this.iterator = list.iterator();
data = list;

}

public boolean next() throws JRException {
index++;
return (index < data.size());
}

public Object getFieldValue(JRField field) throws JRException {
Object r = data.get(index);

try {
String s = field.getName();
return BeanUtils.getProperty(r,s);
} catch (Exception e) {
throw new JRException(e.getMessage());
}

}
}


y en la otra clase donde usas las Clases de Jasper:
bytes = JasperRunManager.runReportToPdf(jasperReport, parameters,
rds);

donde ReporteDS rds = null;
rds = new ReporteDS(list); // list es la lista de Objetos..

Espero haber sido claro....

laraos 21/06/2005 05:28

Agradecimiento
 
Este foro me ha sido de mucha ayuda, quiero agradecer a cada uno por que cada duda despejada me sirvio para cumplir mi objetivo, sin embargo seguire indagando y ayudando dentro de mis posibilidades. GRACIAS!!

LUISPEX 21/06/2005 11:57

iReport: Total de paginas de un reporte
 
Hola, estoy haciendo reportes con el iReport 0.5.0 y estoy teniendo problema para averiguar el valor de la cantidad total de páginas del reporte(ej: para poner “Pagina 1 de 4”, “Pagina 2 de 4”, etc), pensé q venia como una variable por defecto, pero el problema es que probé con todas las que trae pero ninguna tiene ese valor, estas son las variables que me trae y que probé:

PAGE_NUMBER - da el nº actual de página
COLUMN_NUMBER - da el nº de columna
REPORT_COUNT - da la cantidad de rows del reporte
PAGE_COUNT - da la cantidad de rows de la página
COLUMN_COUNT - da la cantidad de rows de la columna

Supongo q esto es algo comun con lo q de alguna forma secilla se debe poder extraer la cantidad total de paginas, ya q no creo q halla q calcularlo a mano, no??? :pensando:
Desde agradezco sus aportes.
Un saludo.

Shu_A 22/06/2005 01:44

Respuesta a paginado y pregunta de filtro dinamico
 
Hola a todos!!!
En primer lugar felicitaros por este foro tan bueno de jasper report / ireport.
Bueno pues quiero participar resolviendo una duda de un compañero que quería paginar los reports, poniendo "página 1 de 5", pues bueno, la solución es la siguiente:
Hay una variable por defecto del ireport que se llama PAGE_NUMBER, esta variable tiene algunos atributos modificables:
- Para obtener la pagina actual debeis poner en el atributo "evaluation time" ==> now.
- Para obtener el conjunto total de páginas que tiene el informe debereis establecer el atributo "evaluation time" ==> report

Shu_A 22/06/2005 01:51

Filtro dinamico en la consulta
 
Hola a todos!!!
Mi objetivo ahora es poder establecer un filtro desde una pagina .jsp, y en funcion de los valores que quiera filtrar el usuario, crear un predicado adecuado a ese filtro para que muestre esos registros en el informe.

El problema es que no se como hacer que el predicado en el ireport sea dinamico. De hecho creo que no se puede, pero alguien aporto una idea importante, y es poner en la consulta unicamente un parametro en el que le pasaras la consulta entera. De este modo podriamos generar la consulta dinamica en JAVA (cosa mucho mas facil) y mandarsela al ireport.

Se comento en este foro que no funcionaba porque a la consulta se le añadian las comillas simples indicando que es cadena, y que esto no funcionaba. Y alguien dio la solucion de poner $P!{SQL_QUERY}... He realizado todos estos pasos. Solo tengo un parametro en la consulta (exactamente como se indica arriba) y le paso la consulta desde JAVA, pero me sale el siguiente error:

Error preparing statement for executing the report query : $P!{SQL_QUERY}

Haber si pudierais ayudarme, ya que es importante para mi. Muchas gracias.

Saludos. (Shu)

LUISPEX 22/06/2005 06:22

Posible solucion filtrado
 
Hola, primero queria agradecerte por la respuesta, ya me parecia q tenia q ser algo sencillo q no me daba cuenta.. :cool:
Bueno con respecto a tu pregunta, nose como puedes pasar la consulta como parametro pero lo q yo hago es realizar la consulta por fuera del reporte y le paso directamente el resultado.
Aca va el ej:


String sourceFileName = "C:/Reports/reporte.jasper";
HashMap parameters = null;
//Fill the report with the ArrayList (the query result --> reportItems)
String filledFileName = JasperFillManager.fillReportToFile(sourceFileName,
parameters, new JRBeanCollectionDataSource(reportItems));

//Export the report to an html file
JasperExportManager.exportReportToHtmlFile(filledF ileName);


Saludos.

inydesystem 23/06/2005 14:07

Hola a todos.... si alguien pudiera ayudarme... cuando migro un reporte del JasperViewer en un archivo tipo Excel... me aparece todo desconfigurado en filas y columnas... y en cuanto a los FileText... en una celda con fondo negro... quien podra ayudarme?¿... desde ya muchas Gracias... estoy programando con NetBeans 4.0, mas SQL Server 2000 y con iReport 5.0.... los reportes los genero por codigo desde el mismo IDE... un saludo a todos...

inmadgm 24/06/2005 02:22

Hola... soy nueva en esto y queria preguntaros como podria diseñar con el iReport un informe si en el código java le paso al metodo fillReport un DataSource en vez de una conexión.

Object available_data[]={matri_stock,n_refer,proced,p_compra,
tip_iva,prev_rea,c_total,p_venta,f_compra,sed,f_ma tric,tot_vehic};
JList myList = new JList(available_data);
MyDataSource dataSource = new MyDataSource(myList);

JasperPrint reporte = JasperFillManager.fillReport("C:\\Documents and Settings\\Inma\\Mis documentos\\SRC\\Propios\\Listados Tecsa\\TStock.jasper", parameters,dataSource);

matri_stock, n_refer...seria vectores.

y mi clase MyDataSource seria esta:

package listados_tecsa;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
import java.util.Vector;



public class MyDataSource implements JRDataSource {
private Object[][] data; // data source structure
private int index = -1; // current record index

public MyDataSource(javax.swing.JList myList) {
/* int numero_righe=myList.getModel().getSize();
int numero_colonne=12;
data = new Object[numero_righe][numero_colonne];
for(int x=0;x<numero_righe;x++){
Object ob=myList.getModel().getElementAt(x);
Vector v=(Vector)ob;
for(int y=0;y<numero_colonne;y++){
data[x][y]=v.elementAt(y);
}
}*/
int numero_colonne=myList.getModel().getSize();
Object obj=myList.getModel().getElementAt(0);
Vector ve=(Vector)obj;
int numero_righe=ve.size();
data = new Object[numero_righe][numero_colonne];

for(int x=0;x<numero_colonne;x++){//0 al 12
Object ob=myList.getModel().getElementAt(x);
Vector v=(Vector)ob;
for(int y=0;y<numero_righe;y++){
if(v.size()==7){
data[y][x] = v.elementAt(y);
}else{
data[y][x]="";
}
}
}


}

// called in net.sf.jasperreports.engine.fill package from JRBaseFiller.next() method
// to make certain further data exist
public boolean next() throws JRException {
index++;

return (index < data.length);
}

// called in net.sf.jasperreports.engine.fill package from JRBaseFiller.next() method
// to get the right field value by means of column name an current record index
public Object getFieldValue(JRField field) throws JRException {
Object value = null;

String fieldName = field.getName();

if ("MATRÍCULA".equals(fieldName)) {
value = data[index][0];
}
else if ("Nº REF. ART.".equals(fieldName)) {
value = data[index][1];
}
else if ("PROCEDENCIA".equals(fieldName)) {
value = data[index][2];
}
else if ("PRECIO COMPRA".equals(fieldName)) {
value = data[index][3];
}
else if ("TIPO IVA".equals(fieldName)) {
value = data[index][4];
}
else if ("PREV. REACOND.".equals(fieldName)) {
value = data[index][5];
}
else if ("COSTO TOTAL".equals(fieldName)) {
value = data[index][6];
}
else if ("PRECIO VENTA".equals(fieldName)) {
value = data[index][7];
}
else if ("FECHA COMPRA".equals(fieldName)) {
value = data[index][8];
}
else if ("SEDE".equals(fieldName)) {
value = data[index][9];
}
else if ("FECHA 1ª MATRIC.".equals(fieldName)) {
value = data[index][10];
}
else if ("Nº TOTAL VEHÍCULO".equals(fieldName)) {
value = data[index][11];
}




return value;
}

} // end of class

Tambien os queria preguntar si ya no es mucho, como sería tambien el parametro "Map parameters" que le tengo que pasar al método fillReport.

Mucha gracias!!!

LUISPEX 24/06/2005 06:06

Funcion fillreport
 
En el ultimo mensaje que postié al este foro puse un ejemplo de como invocar a la funcion, y los tipos de parametros que se le pasan.. capaz q eso te da una mejor idea.
saludos.

Arcangellous 24/06/2005 09:22

Que tal a todos asi como muchos tambiene estoy iniciando con iReports y necesito saber como inicializar una variable, cuando creo una variable en la biblioteca de objetos hay una parte para inicializar initial value expression alguien me puede decir como usar esta parte para inicializar por ejemplo una variable booleana en false

no se si me explique bien espero me haya podido explicar bien
Gracias

antony_fire 24/06/2005 14:10

como hago un reporte sin lanzar ningun query, osea que solo muetro parametros en el reporte y estos parametros los envio desde java?

antony_fire 24/06/2005 14:22

Hola a todos...

Como hago un reporte sin enviar la conexion, solo enviando parametros

Gracias de antemano

inydesystem 25/06/2005 12:00

Cita:

Iniciado por antony_fire
como hago un reporte sin lanzar ningun query, osea que solo muetro parametros en el reporte y estos parametros los envio desde java?

Solo tenes que definir los parametros (nombre del parametro y $P{parametro}, y listo..... despues te queda ubicarlo donde quieras en el diseño del reporte.... :) saludos

Paola_Urizar 30/06/2005 07:17

hola:
estoy empezando con jasperreport y tengo un problema al exportarlo a html el resultado de mi rreporte sale lleno de imagenes que parecieran que no existen con muchas x rojas mi codigo es el siguiente:
response.setContentType( "text/html" );
PrintWriter outout = response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter();
Map imagesMap = new HashMap();
request.getSession().setAttribute( "IMAGES_MAP", imagesMap );
exporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint );
exporter.setParameter( JRExporterParameter.OUTPUT_WRITER, outout );
exporter.setParameter( JRHtmlExporterParameter.IMAGES_MAP, imagesMap );
exporter.setParameter( JRHtmlExporterParameter.IMAGES_URI, "image?image=" );
exporter.exportReport();
no se si alguien me puede ayudar

Paola_Urizar 30/06/2005 07:59

hola:
quisiera preguntar si alguien sabe si se puede enviar como parametros al reporte el ancho y alto de la pagina o los margenes
<jasperReport name="InformeUsuario" columnCount="1" printOrder="Vertical"
orientation="Portrait" pageWidth="612" pageHeight="792"
columnWidth="556" columnSpacing="0" leftMargin="28"
rightMargin="28" topMargin="28" bottomMargin="28" >

Ariel#1 30/06/2005 16:03

Importar datos de tipo Int & Double a string
 
Hola, me URGE!!!! saber como importo datos de mi Base de Datos de tipo Int y Double a string porque a la hora de compilar el Reporte en el iReport me aparece esto:

Errors compiling .\classic.jasper! it.businesslogic.ireport.ReportClassLoader@baa89c 1758563*[Thread-111]*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.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getValue())); ************************<------------------------------------------------------------------> 2.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getOldValue())); ************************<---------------------------------------------------------------------> 3.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getValue())); ************************<------------------------------------------------------------------> 3*errors




QUE PROPIEDAD TENGO QUE CAMBIAR PARA QUE ME LLAME LOS DATOS DE TIPO INT Y DOUEBLE

GRACIAS

maob85 30/06/2005 20:54

Error cannot resolve method fillReport
 
Beunas noches compañeros, he tratado de seguir sus pasos para llamar desde un jsp al reporte y no me reconoce los metodos cuando importo los paquetes... Sea cual sea el metodo que llame se produce el siguiente error:

Ha tenido lugar un error en la línea: 169 en el archivo jsp: /prueba/jasper.jsp
Error de servlet generado:
C:\Tomcat 5.0\work\Catalina\localhost\jsp-examples\org\apache\jsp\prueba\jasper_jsp.java:283 : cannot resolve symbol
symbol : method fillReport (java.lang.String,java.util.Map,pruebaconexion.Con exionDB)
location: class net.sf.jasperreports.engine.JasperFillManager
JasperPrint prin =JasperFillManager.fillReport(reportFile.getPath() , parameters, bd1);
^
1 error

Me pasa tambien si trato de pasar el archivo a byte para llevarlo a pdf...

alguna idea??? es urgente..... Gracias

Ariel#1 01/07/2005 01:30

y AHORA QUE.......
 
Ya descubri el truco, pero ahora en el codigo que Destruktor puso

Código:

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(jasperPr  int, destFileNamePdf);

        //Creación del XLS
        JRXlsExporter exporter = new JRXlsExporter();
        exporter.setParameter(JRExporterParameter.JASPER_P  RINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_F  ILE_NAME, destFileNameXls);
        exporter.setParameter(JRXlsExporterParameter.IS_ON  E_PAGE_PER_SHEET, Boolean.TRUE);
        exporter.exportReport();

        System.exit(0);
    }
    catch (Exception e)
    {
            System.out.println(e.getMessage());
    }



AL COMPILAR TODO ESTÀ BIEN PERO A LA HORA DE MANDAR LLMAR EL REPORTE, ME MANDA DECIR QUE NO ENCUENTRA LA RUTA ( EN COLOR VERDE) QUE LA MANDO LLAMAR AQUI (COLOR ROJO) .
COMO ESTA LA COSA AMIGO DESTRUKTOR :no: .

Ariel#1 01/07/2005 01:45

definir la consulta y pasarle parametros
 
Cita:

Iniciado por DestruKtor
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



LOS PARAMETROS LOS PUEDES DEFINIR DENTRO DE LA SENTENCIA SQL HE INCLUSO LLAMRLOS MEDIANTE UNA VARIABLE :cool:

maob85 01/07/2005 08:20

Garabatos
 
Ya encontre el error que me daba pero ahora al imprimir el archivo byte en pantalla me aparece el basurero que el genera sin ningun tipo de formato... Intente lo que escribieron para otra persona que le paso lo mismo y nada.... Que puedo hacer?

maob85 01/07/2005 12:06

Listo... Ahora ¿if.... then?
 
Buenas tardes, ya resolvi... bueno en realidad se resolvio solo... jejeje. Ahora tengo OTRA duda.... Como hago condicionales en iReport?... yo hice un par de variables que me funcionaron en un reporte pero en otro no...

F{campo}.toString=="valor"?(new String()):"String uno"
F{campo2}.toString=="valor2"?(new String()):"String dos"

y las coloque en un texto dinamico, me funciono de maravilla pero ahora no lo esta haciendo en un reporte nuevo... ideas???

LUISPEX 01/07/2005 12:14

Maob: si los parametros son String quizás te convenga utilizar equals, tambien en lugar de toString generelmente se utiliza String.valueOf(F{Campo}).
good luck!!

onetwo 01/07/2005 13:18

hola
 
tengo un problema con el codigo que esta al inicio del foro no se bien como crear el reporte con el ireport alguien me puede asesorar al compilar el progama me sale el siguiente error : Errpr loading object from file C:\mi ubicacion

gracias

onetwo 01/07/2005 13:22

si alguien desea contestarme mi correo es [email protected] nota EL PUNTO JASPER ES EL QUE NO PUEDO CARGAR

OscarEscobar 01/07/2005 14:34

solucion a muchas imagenes
 
Cita:

Iniciado por Paola_Urizar
hola:
estoy empezando con jasperreport y tengo un problema al exportarlo a html el resultado de mi rreporte sale lleno de imagenes que parecieran que no existen con muchas x rojas mi codigo es el siguiente:
response.setContentType( "text/html" );
PrintWriter outout = response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter();
Map imagesMap = new HashMap();
request.getSession().setAttribute( "IMAGES_MAP", imagesMap );
exporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint );
exporter.setParameter( JRExporterParameter.OUTPUT_WRITER, outout );
exporter.setParameter( JRHtmlExporterParameter.IMAGES_MAP, imagesMap );
exporter.setParameter( JRHtmlExporterParameter.IMAGES_URI, "image?image=" );
exporter.exportReport();
no se si alguien me puede ayudar

Hola paola: lo que necesitas agregarle a tu codigo es lo siguiente...

exporter.setParameter(JRHtmlExporterParameter.IS_U SING_IMAGES_TO_ALIGN, new Boolean(false));

con esto te quitara todas las imagenes, tendras problemas si tu reporte incluye alguna imagen por que con este comando se inabilitan...

espero que te sirva. :cool:

OscarEscobar 01/07/2005 14:42

ver un chart
 
Hola a todos:

He podido hacer un reporte con un chart mediante la herramienta que trae el IReport y funciona muy bien. pero al enlazar el reporte con mi programa en Java, me muestra el reporte pero no la grafica, por que al compilar el reporte no genera la carpeta con la imagen.

que puedo hacer. ya inclui los *.jar y no me genera error pero tampoco la imagen.....

alguien sabe que puedo hacer

OscarEscobar 01/07/2005 14:52

inicializar un campo boolean
 
Cita:

Iniciado por Arcangellous
Que tal a todos asi como muchos tambiene estoy iniciando con iReports y necesito saber como inicializar una variable, cuando creo una variable en la biblioteca de objetos hay una parte para inicializar initial value expression alguien me puede decir como usar esta parte para inicializar por ejemplo una variable booleana en false

no se si me explique bien espero me haya podido explicar bien
Gracias

Arcangellous:

debes colocar el siguiente codigo

new Boolean(false)

en el campo initial value expression, escribelo tal cual, igual te doy los de los otros tipos, los mas usados

new Double(100)
new String("Hola mundo")

espero que te sirvan

Saludos

Oscar :cool:

onetwo 01/07/2005 15:01

porfa.. contesten es para mi tarea.... :pensando:

onetwo 01/07/2005 16:14

puedes compartir tu codigo oscar escobar

IO_Exception 04/07/2005 09:22

Holas

Soy nuevo en esto de los Reports. Antes de nada agradecer a todos los colaboradores del foro su trabajo. Este foro me ha ayudado mucho y me gustaría contribuir con algunas preguntas y repsuestas.

onetwo:
:P Lo que te seguramente te este pasando es que tienes diferentes librerías de Jasper en el iReport y en el visualizador, es decir, que compilas el report con una librerias y lo visualizas con otra. Fíjate en el directorio lib de iReports tendrás una librería con este nombre: "jasperreports-0.6.7.jar" (la que viene por defecto con el iReports) y en el proyecto donde estes visualizando usarás seguramente una librería con nombre "jasperreports-0.6.8.jar" (que es la última que hay en la web de JasperReports)

Solución:
Yo lo que he hecho es coger todas las últimas versiones de las librerías que se necesitan (las que vienen en la web de JasperReports) y meterlas en la carpeta "lib" de iReports. Borré la "jasperreports-0.6.7.jar" que venía con el iReports y renombré la "jasperreports-0.6.8.jar" como "jasperreports-0.6.7.jar" (todo esto dentro de la carpeta "lib" del iReports)

Con eso me funcionó ^^

noeliak 05/07/2005 09:25

hola, queria consultarles algo.
Tengo tablas dinámicas en java (JdbTables) y queria ver si se pueden pasar de alguna forma al iReport. Intente con el custom JRDataSource, pero no pude hacerlo.
Alguno tiene idea de como hacerlo?
gracias, noelia

onetwo 05/07/2005 13:27

hola
 
Cita:

Iniciado por IO_Exception
Holas

Soy nuevo en esto de los Reports. Antes de nada agradecer a todos los colaboradores del foro su trabajo. Este foro me ha ayudado mucho y me gustaría contribuir con algunas preguntas y repsuestas.

onetwo:
:P Lo que te seguramente te este pasando es que tienes diferentes librerías de Jasper en el iReport y en el visualizador, es decir, que compilas el report con una librerias y lo visualizas con otra. Fíjate en el directorio lib de iReports tendrás una librería con este nombre: "jasperreports-0.6.7.jar" (la que viene por defecto con el iReports) y en el proyecto donde estes visualizando usarás seguramente una librería con nombre "jasperreports-0.6.8.jar" (que es la última que hay en la web de JasperReports)

Solución:
Yo lo que he hecho es coger todas las últimas versiones de las librerías que se necesitan (las que vienen en la web de JasperReports) y meterlas en la carpeta "lib" de iReports. Borré la "jasperreports-0.6.7.jar" que venía con el iReports y renombré la "jasperreports-0.6.8.jar" como "jasperreports-0.6.7.jar" (todo esto dentro de la carpeta "lib" del iReports)

Con eso me funcionó ^^

mira ahora el error que me marca no se que hacer:

Database connection established
Exception in thread "main" java.lang.NoClassD
gging/LogFactory
at net.sf.jasperreports.engine.fill.Java:84)
at net.sf.jasperreports.engine.fill.J)
at net.sf.jasperreports.engine.Jasper
nager.java:247)
at net.sf.jasperreports.engine.Jasper
nager.java:163)
at reportload.Main.main(martin.java:5
Press any key to continue...

hice lo que propusiste pero no se que pasa no me reconoce las librerias

cmoralesm21 05/07/2005 14:54

Aprender Jasper Report
 
hola a todos:
bueno soy muuuy nuevo en esto, demasiado con decirles q en otro foro de jdeveloper me recomendaron el Jasper Report para realizar los reportes, bueno creo q la ayuda por a q tendria q comenzar por pedir es como instalar el Jasper Report y como vincularlo con el JDeveloper 10g 10.1.2.0.
gracias a todos y espero aprender gracias a ud. :arriba:
byee :adios:

Ctx(Arquero23) 05/07/2005 15:38

Formatear Parametros...
 
tengo una duda y espero puedan ayudarme:

Tengo un textfield y en la propiedad de textfield expression le introduje todo un parrafo de texto, entre el parrafo le concateno un parametro y lo que deseo es poder poner ese parametro en negritas.

para ser mas graficos:

("Por medio de la presente me dirijo a usted Sr.").concat($P{nombrePersona}).concat(" para felicitarlo por su asistencia al curso de ireport....")

asi lo tengo me muestra lo siguiente:

Por medio de la presente me dirijo a usted Sr. JUAN PEREZ HERNANDEZ para felicitarlo por su asistencia al curso de ireport....

Y QUISIERA QUE ME MOSTRARA LO SIGUIENTE:

Por medio de la presente me dirijo a usted Sr. JUAN PEREZ HERNANDEZ para felicitarlo por su asistencia al curso de ireport....


-------------------------------------
Agradezco toda posible ayuda

ovejota 05/07/2005 16:51

Buenas!. tengo una duda, bueno en realidad no se si se puede hacer con ireport, pero el tema es el siguiente: recibo de la base de datos un campo booleano, pero no quiero mostrar en el reporte "true" o "false" sino "si" o "no" como puedo hacer. Intenté setear un parámetro, pero como hago la expreción condicional para setear el parámetro?.
desde ya muchas gracias

IO_Exception 06/07/2005 01:17

Cita:

Iniciado por onetwo
mira ahora el error que me marca no se que hacer:

Database connection established
Exception in thread "main" java.lang.NoClassD
gging/LogFactory
at net.sf.jasperreports.engine.fill.Java:84)
at net.sf.jasperreports.engine.fill.J)
at net.sf.jasperreports.engine.Jasper
nager.java:247)
at net.sf.jasperreports.engine.Jasper
nager.java:163)
at reportload.Main.main(martin.java:5
Press any key to continue...

hice lo que propusiste pero no se que pasa no me reconoce las librerias

:pensando: Pues ese error no lo he visto nunca, cuando te aparece? al hacer el fillReport?

IO_Exception 06/07/2005 01:33

Cita:

Iniciado por cmoralesm21
hola a todos:
bueno soy muuuy nuevo en esto, demasiado con decirles q en otro foro de jdeveloper me recomendaron el Jasper Report para realizar los reportes, bueno creo q la ayuda por a q tendria q comenzar por pedir es como instalar el Jasper Report y como vincularlo con el JDeveloper 10g 10.1.2.0.
gracias a todos y espero aprender gracias a ud. :arriba:
byee :adios:

Hola cmoralesm21

Si eres nuevo te aconsejo que te leas el foro desde el principio, se explica muy bien como hacer uso desde 0 de JasperReports y el diseñador gráfico de informes iReports. Si te queda alguna duda más concreta ponla aquí mismo y estaremos encantados de intentar solucionarla :si:

little padawan 06/07/2005 03:58

Hola a todos, lo primero y antes de hacer la GRAN PREGUNTA agradeceros a todos buestras aportaciones a este foro y espero empezar a contribuir en el aunque con el nivel que teneis, creo que estoy muy verde.

Quiero sacar informes desde un JSP con el visor del jasperreports pero no sale nada
¿Que ocurre? adjunto codigo

<%@ page extends="xxx.BaseJSPPage" import="java.util.*" %>
<%@ page import="import java.util.HashMap" %>
<%@ page import="import java.util.Map" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>

<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.io.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="net.sf.jasperreports.view.*"%>
<%@ page import="import net.sf.jasperreports.engine.JRException" %>
<%@ page import="import net.sf.jasperreports.engine.JasperExportManager" %>
<%@ page import="import net.sf.jasperreports.engine.JasperFillManager" %>
<%@ page import="import net.sf.jasperreports.engine.JasperPrint" %>
<%@ page import="import net.sf.jasperreports.view.JasperViewer" %>
<jsp:useBean id="SelectParam" class="java.lang.String" scope="request"/>
<jsp:useBean id="DBConnection" class="java.sql.Connection" scope="request"/>
<html>
<link rel="stylesheet" href="style">
<body background="../images/ffffff_sq.jpg" text="333333" link="333333" vlink="333333" alink="333333" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
TOI EN SUPPLIERREPORTJASPER.JSP
<%
//File reportFile = new File(application.getRealPath("/a2a/report/classic07.jasper"));

// Parametros a introducir al informe
Map parameters = new HashMap();
parameters.put("param00", SelectParam);

// Crear el JasperPrint y rellenar el informe.
JasperPrint jasperPrint = JasperFillManager.fillReport(application.getRealPa th("/a2a/report/classic07.jasper"),parameters,DBConnection);

// You can use JasperPrint to create PDF
JasperExportManager.exportReportToPdfFile(jasperPr int,"c://java//BasicReport.pdf");

// view report in the JasperViewer
JasperViewer.viewReport(jasperPrint);

%>
</body>
</html>


GRACIAS POR VUESTRA AYUDA

OscarEscobar 06/07/2005 08:24

condiciones en iReport
 
Cita:

Iniciado por ovejota
Buenas!. tengo una duda, bueno en realidad no se si se puede hacer con ireport, pero el tema es el siguiente: recibo de la base de datos un campo booleano, pero no quiero mostrar en el reporte "true" o "false" sino "si" o "no" como puedo hacer. Intenté setear un parámetro, pero como hago la expreción condicional para setear el parámetro?.
desde ya muchas gracias

Hola ovejota... no se si ya esta esto en el foro pero para contestar tu preguna debes colocar lo siguiente:

($P{miParametro}=="true")?"Si":"No"

donde miParametro es la variable Booleana

Saludos a Todos..... :cool:

Todavia necesito ayuda para un chart en html.
Si alguno tiene idea de como mostrarlo....

little padawan 06/07/2005 09:09

A mi me pasa lo mismo al final lo has resuelto.

Una pregunta mas ¿Se puede visualizar con jasperviewer o algo parecido?

little padawan 06/07/2005 09:11

A mi me pasa lo mismo al final lo has resuelto que PAOLA URIZAR.
CUANDO LANZO EL REPORTE ME SALE SIN LOS ICONOS ¿QUE LE PASA?

Una pregunta mas ¿Se puede visualizar con jasperviewer o algo parecido?


La zona horaria es GMT -6. Ahora son las 03:35.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.