IReport tutorial pra eclipse

2,251 views
Skip to first unread message

Jeferson

unread,
Sep 28, 2011, 12:23:24 PM9/28/11
to javasf: JavaServer Faces Group
Galera to começando agora com relatorios. Vi que as ferramentas são
IReport e Jasper queria saber como configuro esses caras pra usar no
eclipse? To usando o Eclipse Helius.

Desde já agradeço a ajuda!

Mayara Madeira Trevisol

unread,
Sep 28, 2011, 12:31:06 PM9/28/11
to javasf: JavaServer Faces Group

Ronaldo Prass

unread,
Sep 28, 2011, 12:41:42 PM9/28/11
to jav...@googlegroups.com
Jeferson, você quer usar o plugin do iReport para o Eclipse ou você baixou a ferramenta separada?

Ronaldo 


--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

Jeferson

unread,
Sep 28, 2011, 1:54:14 PM9/28/11
to javasf: JavaServer Faces Group
Ronaldo baxei a ferramenta separada! Tem plugin pro Eclipse?

Qual o melhor caminho?

Mayara Madeira Trevisol

unread,
Sep 28, 2011, 2:04:50 PM9/28/11
to javasf: JavaServer Faces Group
Na minha opinião o IReport (ferramenta) é bem simples de usar e tem
bastante tutorial usando ele.

nunca usei o plugin, então não tenho opinião sobre ele.

Abs,

Mayara Madeira Trevisol

Ronaldo Prass

unread,
Sep 28, 2011, 2:26:43 PM9/28/11
to jav...@googlegroups.com
Opa, o plugin é esse daqui http://marketplace.eclipse.org/content/jaspersoft-studio , concordo com a Mayara, acho que seria vantagem você usar plugin caso a sua IDE fosse o NetBeans. 

Para criar um relatório, abra o iReport, no menu Arquivo> New, selecione um template, para começar pode ser um Blank A4. Siga as instruções do wizard do programa, quando você cria o seu primeiro relatório, o iReport já traz consigo um alguns poucos drivers de conexão com o banco de dados. Então a primeira providência é configurar o acesso ao banco do seu projeto e caso não esteja disponível o driver, você deve adicioná-lo. Depois dê Ok. 
Para adicionar o driver, basta adicionar no classpath, para isso clique em Ferramentas>Opções>Classpth>Add JAR, selecione o driver no local a sua escolha e após dê Ok. 

Feito isso, defina a conexão com o banco de dados(ela irá usar o driver recém adicionado), próximo a opção salvar clique no ícone indicando a conexão com o banco, crie um novo datasource informando os dados do seu banco.

Nesse site http://migre.me/5Nyy3 você cria um login gratuitamente, tem duas boas apostilas em português sobre o iReport, acho que seria mais produtivo você dar uma olhada nelas, conforme forem surgindo as dúvidas, vai postando na lista. Tem algumas configurações que fica mais claro para explicar se fosse possível adicionar prints das telas. 

[]'s




Jeferson

unread,
Sep 28, 2011, 3:09:47 PM9/28/11
to javasf: JavaServer Faces Group
Então Mayara e Ronaldo

To usando aqui a ferramenta e ja consegui fazer a conexão com o banco
e talz e já consigo ver minhas tabelas pela ferramenta!
Já tenho uma aplicação pronta pra quem quero gerar os relatórios. To
um pouco perdido aqui na hora de gerar o relatório propriamente dito.
"Só" preciso fazer uma consulta pra trazer os campos que eu quero no
relatório? compilar e visualizar?

Mayara Madeira Trevisol

unread,
Sep 28, 2011, 3:22:05 PM9/28/11
to javasf: JavaServer Faces Group
voce vai precisar chamar o relatório compilado (.jasper) no seu
sistema, algo como descrito nesse link que te passei:

dê uma olhada no método exibirRelatorio ;)

Mayara Madeira Trevisol

unread,
Sep 28, 2011, 3:26:13 PM9/28/11
to javasf: JavaServer Faces Group
Ah uma sugestão,

eu prefiro deixar toda a logica no sistema, e no jasper apenas o
formato do relatório. sendo assim eu realizo a consulta pelo sistema e
passo a listagem de objs para o relatório.

Acho mais facil de dar manutenção nessa consulta e o sistema fica mais
organizado na minha opinião.

Pensando uma pouco mais a frente, se voce quiser montar esse relatorio
em uma table e dar a opção de ele exportar pra pdf/xls/... (por
exemplo) voce usará a mesma listagem, e nao será preciso fazer 2
consultas (uma pra mostrar na tela e outro o jasper executando).

Abs,

Mayara Madeira Trevisol

Jeferson

unread,
Sep 28, 2011, 3:54:15 PM9/28/11
to javasf: JavaServer Faces Group
Valeu pelas Dicas.Vou meter a mão na massa aqui.
Montar o layout primeiro. Dou um feedback pra voces do andamento!

Valeu mesmo pela ajuda!

Alejandro Mesias

unread,
Sep 29, 2011, 6:33:59 AM9/29/11
to jav...@googlegroups.com
Baixe a versão completa, que vem com o Plugin instalado. Não tem muita vantagem usar na mesma IDE que você programa.

Uso ele sem SQL ou HQL, apenas passando Collections de java por parametro, é bem eficiente. Problema que tem que compilar o relatório junto da aplicação para que ele tenha acesso aos Beans.

2011/9/28 Jeferson <jeff....@gmail.com>
Valeu pelas Dicas.Vou meter a mão na massa aqui.
Montar o layout primeiro. Dou um feedback pra voces do andamento!

Valeu mesmo pela ajuda!
--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
======================================
| Alejandro Mesias André Nebra Perez
| Java/Python/Js/Something else Developer
| Twitter: @meszias
| Linux User #442506
| Campinas - SP - Brasil - South America
======================================

Jeferson

unread,
Oct 17, 2011, 9:57:45 PM10/17/11
to javasf: JavaServer Faces Group
Falai Galera revivendo esse topico aqui

Depois de estudar sobre o iReport já consegui fazer o seguinte:

Tenho a classe que faz a magica do relatorio!

public class GerarRelatorio {

@SuppressWarnings("rawtypes")
public void relatorioUSALL(List lista){
try {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)
context.getExternalContext().getResponse();
ServletOutputStream responseStream = response.getOutputStream();
// caminho do jrxml
InputStream pathjrxml = getClass().getResourceAsStream("../jrxml/
teste.jrxml");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=
\"relatoriotodosusuarios.pdf\"");
JasperReport pathReport =
JasperCompileManager.compileReport(pathjrxml);
JasperPrint print = JasperFillManager.fillReport(pathReport, null,
new JRBeanCollectionDataSource(lista));
JasperExportManager.exportReportToPdfStream(print, responseStream);

responseStream.flush();
responseStream.close();
context.renderResponse();
context.responseComplete();

} catch (Exception e) {
e.printStackTrace();
}
}

}

tenho meu MB pra chamar esse cara

public class GerarRelatorioMB {

private ColaboradorFacade colaborador = new ColaboradorFacadeImpl();

@SuppressWarnings("rawtypes")
public void gerarRelatorioUS() throws IOException {
List listaUs = colaborador.listaTodos();
new GerarRelatorio().relatorioUSALL(listaUs);
}

}


e na minha pagina xhtml tenho mais ou menos assim

<h:commandLink value="GerarRelatorio"
action="#{gerarRelatorioMB.gerarRelatorioUS}" />

To tentando só listar os usuario cadastrados no banco por enquanto
esse é meu model

@Entity
@Table(name="colaborador")
public class Colaborador implements Serializable {
/**
*
*/
private static final long serialVersionUID = -1126818217715495745L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private Long id;

@Column(name="nome")
private String nome;


@Column(name="matricula")
private String matricula;

@Column(name="password")
private String password;

@Column (name="email")
private String email;
}

no entanto quando vou chamar o relatorio tenho o seguinte erro

net.sf.jasperreports.engine.design.JRValidationException: Report
design not valid :
1. Field not found : nome
2. Field not found : id
3. Field not found : matricula
4. Field not found : email

Podem me ajudar? onde eu to errando?
Reply all
Reply to author
Forward
0 new messages