Criando relatorios em JasperReport

6 respostas
farzac

Pessoal, gracas a voces consegui um tutorial muito bom sobre jasperReport, eu fiz no iReport o layout com os parametros e tudo mais, e no netbeans eu criei a classe que carregara dados para o iReport.

As minhas duvidas sao:

Somente compilando e executando no netbeans que sera exibido o relatorio, pois ja compilei no report?

Quando executo no netbeans da a seguinte mensagem

init:

deps-jar:

compile:

run:

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester

at net.sf.jasperreports.engine.JasperManager.loadXmlDesign(JasperManager.java:971)

at report.Relatorio.(Relatorio.java:97)

at report.Relatorio.main(Relatorio.java:119)

Java Result: 1

BUILD SUCCESSFUL (total time: 0 seconds)

Alguem sabe do que se trata esse erro, espero que alguem possa tirar minhas duvidas.

Abraços…

6 Respostas

furutani

http://www.guj.com.br/posts/list/0/25093.java

http://www.guj.com.br/posts/list/32431.java

farzac

Obrigado colega Furutani por ter respondido a minha duvida, mas acontece que agora o erro esta sendo outro, espero que possa me ajudar,
pois ja estou a dias tentando gerar esse relatorio e nao consigo. Espero que alguem possa me ajudar a resolver o erro o netbeans esta exiibindo…

init:

deps-jar:

compile:

run:

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/collections/ArrayStack

at org.apache.commons.digester.Digester.(Digester.java:185)

at net.sf.jasperreports.engine.xml.JRXmlDigester.(JRXmlDigester.java:63)

at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:294)

at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:329)

at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:294)

at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:278)

at net.sf.jasperreports.engine.JasperManager.loadXmlDesign(JasperManager.java:971)

at report.Relatorio.(Relatorio.java:97)

at report.Main.main(Main.java:29)

Java Result: 1

BUILD SUCCESSFUL (total time: 2 seconds)
farzac

Ola amigos, eu resolvi o problema de mensagem de erro na tela, mas agora quando executo o netbeans ele da a seguinte mensagem:

the document has no pages

Sera que alguem sabe o que devo fazer para gerar a pagina, pois segui passo a passo um tutorial…

Obrigado a quem puder me ajudar.

furutani

farzac:
Sera que alguem sabe o que devo fazer para gerar a pagina, pois segui passo a passo um tutorial…

Obrigado a quem puder me ajudar.


Voce deve passar dados para o relatorio.

RenataFA

Isso quer dizer que não existem dados para ser impressos. Verifique se vc esta passando os parâmetros corretos, se seu SQL está certo (caso esteja executando um SQL no relatório), se tem registros no BD para serem impressos, etc, etc…

T+

matheuscechito

olá a todos,

Estou criando um relatório com o jasper dinâmicamente, ou seja, em tempo de execusão. Porém meus dados são estáticos, não vem de um bando de dados, com isso não consigo imprimir o DetailBand.

dêem uma olhada:
JRDesignBand band = new JRDesignBand();
band.setHeight(100);

JRDesignStaticText staticText = new JRDesignStaticText();
staticText.setX(350);
staticText.setY(0);
staticText.setWidth(200);
staticText.setHeight(20);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_RIGHT);
staticText.setStyle(titleStyle);
staticText.setText("Relatório");
band.addElement(staticText);

staticText = new JRDesignStaticText();
staticText.setX(5);
staticText.setY(20);
staticText.setWidth(45);
staticText.setHeight(15);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
staticText.setStyle(normalStyle);
staticText.setText("Curso: ");
band.addElement(staticText);

staticText = new JRDesignStaticText();
staticText.setX(50);
staticText.setY(20);
staticText.setWidth(450);
staticText.setHeight(15);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
staticText.setStyle(normalStyle);
staticText.setText("Programação avançada ");
band.addElement(staticText);

jasperDesign.setTitle(band);

JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Documents and Settings\\juca\\Desktop\\SampleReport.pdf");
Bom isso seria para imprimir um curso, mas eu tenho q imprimir um monte de cursos. Existe no Jasper alguma maneira de eu dizer que uma banda é "filha" da banda de Titulo???? Pois assim eu onsigo imprimir a quantia de bandas filhas que eu quiser.

obrigado a quem ajudar

Criado 23 de fevereiro de 2007
Ultima resposta 27 de fev. de 2007
Respostas 6
Participantes 4