Como gerar relatório no eclipse?

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

Onde eu acho esse JasperReports e instalo ele?

Atenciosamente

Vc pode baixar o Eclipse IDE for Java and Report Developers, ele vem o BIRT, uma ferramenta para fazer relatorios.
O jasper é mto bom para criação de relatorios tambem, pode encontralo em http://jasperforge.org/plugins/project/project_home.php?group_id=102

[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]

JExcel

POI-HSSF

esse birt gera relatórios para aplicativos Desktop tbm?

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.

HUmmm valew
Estou baixando o Jasper Reports mesmo
Esse eh pra Desktop mesmo neh?

I ae galera
Eu baixei o jasper reports

Como eu instalo ele no eclipse?

Vc só precisa adicionar a biblioteca que baixou no eclipse.

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

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

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

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?

esta dando erro no meu codigo

[code]package teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;

public class IReportExemple {

private static final String url = "jdbc:mysql://localhost:3306/banco_eclusas";
private static final String driver = "com.mysql.jdbc.Driver";
private static final String login = "root";
private static final String pwd = "root";

public IReportExemple() {
}

public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {

	Class.forName( driver );
	Connection con = DriverManager.getConnection( url , login , pwd );
	Statement stm = con.createStatement();
	String query = "select * from componentes";
	ResultSet rs = stm.executeQuery( query );

	//implementação da interface JRDataSource para DataSource ResultSet
	JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );

	//executa o relatório
	Map parametros = new HashMap();
	parametros.put("nomeComponente", new String());

	/* 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" );
}

public static void main(String[] args) {
	try {
		new IReportExemple().gerar( "/home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml " );
	} catch (Exception e) {
		e.printStackTrace();
	}
}

}
[/code]

o erro é o seguinte

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: /home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:81) 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.FileNotFoundException: /home/bruno/Desktop/iReport-3.0.0/bin/relatorio.jrxml ... 4 more

O que eu estou fazendo de errado?

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”

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

da o seguinte erro

Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2291) at java.lang.Class.getDeclaredField(Class.java:1880) at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1610) at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52) at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:425) at java.security.AccessController.doPrivileged(Native Method) at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413) at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310) at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:547) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480) at net.sf.jasperreports.engine.base.JRBaseReport.readObject(JRBaseReport.java:736) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:94) 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.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 40 more

o codigo ficou assim

[code]package teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;

public class IReportExemple {

private static final String url = "jdbc:mysql://localhost:3306/banco_eclusas";
private static final String driver = "com.mysql.jdbc.Driver";
private static final String login = "root";
private static final String pwd = "root";

public IReportExemple() {
}

public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {

	Class.forName( driver );
	Connection con = DriverManager.getConnection( url , login , pwd );
	Statement stm = con.createStatement();
	String query = "select * from componentes";
	ResultSet rs = stm.executeQuery( query );

	//implementação da interface JRDataSource para DataSource ResultSet
	JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );

	//executa o relatório
	Map parametros = new HashMap();
	parametros.put("nomeComponente", new String());

	/* 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" );
}

public static void main(String[] args) {
	try {
		new IReportExemple().gerar( "/home/bruno/Desktop/relatorios/report1.jasper" );
	} catch (Exception e) {
		e.printStackTrace();
	}
}

}[/code]

Ta dificil isso aki =P

Mais eu consigo com a ajuda de todos ^^

Falows

mas é o jxml que vc tem q chamar.
precisa ter o .jasper tbm mas chama o .jxml

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

Oq tem de errado?