Olá galera
Eu preciso gerar relatórios puxando uns dados do banco
Eu jah vi q existem algumas ferramentas para isso JasperReports
Como eu faço pra instala esse JasperReports no eclipse?
Estou usando o eclipse galileu para o ubuntu 64bits
[color=darkblue] O Jasper é uma boa opção, mas se quiser algo mais simples, você pode gerar uma planilha em Excel, você tem a opção de JExcel e POI também :[/color]
esse birt gera relatórios para aplicativos Desktop tbm?
D
dude
o BIRT é especifico para aplicações web.
já vi algumas explicações de como chamar os relatorios numa aplicação desktop, mas axo melhor usar um especifico para desktop.
B
brunorota
HUmmm valew
Estou baixando o Jasper Reports mesmo
Esse eh pra Desktop mesmo neh?
B
brunorota
I ae galera
Eu baixei o jasper reports
Como eu instalo ele no eclipse?
D
dude
Vc só precisa adicionar a biblioteca que baixou no eclipse.
D
dude
Para criar os relatorios em Jasper vc deve utilizar o IReport. Ferramenta visual para relatorios. Download IReport
Para criar ou chamar dentro do java os relatorios pode seguir este tutorial: Tutorial
B
brunorota
Eh eu tinha visto ^^
Valew pelo tutorial
Eu dei uma lida me pareceu bem facil de usar
Vou baixar o IReport
E qualquer dúvida eu posto aqui
Valew
B
brunorota
dude
Eu consegui fazer o relatório no iReport
Fazer a conexão e tals
Agora como eu faço pra chamar esse relatório q eu fiz pelo eclipse?
Eu uso o linux
Salvei o relatório em /home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml
Como eu faço pra chamar ele pelo eclipse?
Falows
B
brunorota
mais uma duvida
Nesse tutorial nao mostra como eu inserir mais de uma sql, pra pega dados de varias tabelas e colocar no mesmo relatório
Tem como fazer isso?
B
brunorota
esta dando erro no meu codigo
packageteste;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.HashMap;importjava.util.Map;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperExportManager;importnet.sf.jasperreports.engine.JasperFillManager;publicclassIReportExemple{privatestaticfinalStringurl="jdbc:mysql://localhost:3306/banco_eclusas";privatestaticfinalStringdriver="com.mysql.jdbc.Driver";privatestaticfinalStringlogin="root";privatestaticfinalStringpwd="root";publicIReportExemple(){}publicvoidgerar(StringjasperFile)throwsJRException,SQLException,ClassNotFoundException{Class.forName(driver);Connectioncon=DriverManager.getConnection(url,login,pwd);Statementstm=con.createStatement();Stringquery="select * from componentes";ResultSetrs=stm.executeQuery(query);//implementação da interface JRDataSource para DataSource ResultSetJRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);//executa o relatórioMapparametros=newHashMap();parametros.put("nomeComponente",newString());/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */JasperFillManager.fillReportToFile(jasperFile,parametros,jrRS);/* Exporta para o formato PDF */JasperExportManager.exportReportToPdfFile("relatorio.jrprint");}publicstaticvoidmain(String[]args){try{newIReportExemple().gerar("/home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml ");}catch(Exceptione){e.printStackTrace();}}}
ele n tah achando o relatorio parece… vc compilo o relatorio?!
ele tem q geral o .jrxml e o .jasper dentro da pasta “/home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml”
B
brunorota
ae dude
Agora eu gerei outro relatório, gerou o .jasper e o .jrxml
ae em vez de eu passar o .jrxml eu passo o .jasper
packageteste;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.HashMap;importjava.util.Map;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperExportManager;importnet.sf.jasperreports.engine.JasperFillManager;publicclassIReportExemple{privatestaticfinalStringurl="jdbc:mysql://localhost:3306/banco_eclusas";privatestaticfinalStringdriver="com.mysql.jdbc.Driver";privatestaticfinalStringlogin="root";privatestaticfinalStringpwd="root";publicIReportExemple(){}publicvoidgerar(StringjasperFile)throwsJRException,SQLException,ClassNotFoundException{Class.forName(driver);Connectioncon=DriverManager.getConnection(url,login,pwd);Statementstm=con.createStatement();Stringquery="select * from componentes";ResultSetrs=stm.executeQuery(query);//implementação da interface JRDataSource para DataSource ResultSetJRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);//executa o relatórioMapparametros=newHashMap();parametros.put("nomeComponente",newString());/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */JasperFillManager.fillReportToFile(jasperFile,parametros,jrRS);/* Exporta para o formato PDF */JasperExportManager.exportReportToPdfFile("relatorio.jrprint");}publicstaticvoidmain(String[]args){try{newIReportExemple().gerar("/home/bruno/Desktop/relatorios/report1.jasper");}catch(Exceptione){e.printStackTrace();}}}
Ta dificil isso aki =P
Mais eu consigo com a ajuda de todos ^^
Falows
D
dude
mas é o jxml que vc tem q chamar.
precisa ter o .jasper tbm mas chama o .jxml
B
brunorota
Bom modificado para chamar o jrxml deu o seguinte erro
net.sf.jasperreports.engine.JRException: Error loading object from file : /home/bruno/Desktop/relatorios/report1.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:98)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:462)
at teste.IReportExemple.gerar(IReportExemple.java:42)
at teste.IReportExemple.main(IReportExemple.java:50)
Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:57)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:93)
... 3 more