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?
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.
brunorota
HUmmm valew
Estou baixando o Jasper Reports mesmo
Esse eh pra Desktop mesmo neh?
brunorota
I ae galera
Eu baixei o jasper reports
Como eu instalo ele no eclipse?
dude
Vc só precisa adicionar a biblioteca que baixou no eclipse.
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
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
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
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?
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”
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
dude
mas é o jxml que vc tem q chamar.
precisa ter o .jasper tbm mas chama o .jxml
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