0 Compartilhamentos 543 Views 7 Comments

Tutorial Criando Relatórios com JasperReports – Primeiros Passos

30 de abril de 2014

Bom dia, boa tarde ou boa noite!

Aprenderemos neste tutorial como criar um relatório JasperReports e preenche-lo a partir de uma Lista de Beans, ou seja, sem a necessidade de acesso ao banco de dados.

O que me motivou a escrever este tutorial foi, justamente porque não encontrei nada parecido, nada básico o bastante para me guiar, quando precisei criar meu primeiro relatório utilizando JasperReports.

Não sei se minha situação(problema) é semelhante a de alguém. No meu caso, escrevi toda a aplicação utilizando JPA para camada de persistência. Após terminar todas as funções, passei para a parte de criar relatórios, foi onde pensei que criar um relatório e ter que escrever uma sentença SQL para obter os dados, seria um retrocesso, pois já contava com todo o mapeamento necessário para gerar as informações. Então, surgiram as dúvidas, e a solução foi passar um lista de objetos para o relatório.

Este tutorial está organizado em 5 partes:

  • 1 Preparando o Ambiente
  • 2 Criando a Classe de Dados
  • 3 Criando o Relatório
  • 4 Configurando os JARs para o JasperReport
  • 5 Criando a Classe Para Manipular o Relatório

Vamos então colocar a mão na massa \0/

Preparando o Ambiente

Primeiro, vamos pensar na organização/pacotes de nosso pequeno projeto. Estou utilizando o Eclipse Kepler mas, nada o impedirá de usar sua IDE favorita.

Crie um projeto JavaSE nomeado RelatorioJasper

jasperreposts-1

Utilizaremos os seguinte pacotes para organizar nosso projeto

jasper – Arquivos JasperReports

model – Beans que servem para representar nossos dados

relatorio – Classes responsáveis por gerar nosso relatórios

testes – Nossas classes para testar o relatórios

Criando a Classe de Dados

Primeiro, criaremos a classe/bean que representará nossos dados. Utilizaremos uma classe Cliente neste tutorial.

Criando o Relatório

Utilizaremos a ferramenta iReport5.0 para criar nosso relatório. Ele pode ser baixado aqui http://www.4shared.com/zip/ZtsRzMJFce/iReport.html

Acessando a ferramenta iReport5.0

1º Clique no menu “Arquivo” e então “New…” será apresentada uma tela contendo diversas opções de relatório. Escolheremos a primeira opção “Report” e “Blank A4”

Existem outros templantes interessantíssimos, mas por hora, utilizaremos o Blank A4

2º Clique em “Open this Template”

jasperreposts-2

Definindo o nome e o lugar do relatório

Em report name, defina o nome do relatório, em nosso caso será: Clientes

Em location, defina o diretório onde será salvo. Notem que utilizei o workspace do Eclipse e salvei direto no package br.com.rdtecnologia.jasper. Clique em Próximo e depois em Finalizar.

jasperreposts-3

Após salvar o relatório, ele deve aparecer no package Jasper, conforme imagem ao lado. Caso não aparecesa, clique sobre o package e pressione F5.

jasperreposts-4

Primeira visão ao relatório

Será apresentado um relatório em branco para podermos começar a brincar.

Neste momento, criaremos os campos(fields) do relatório. Estes campos devem ter o nome correspondente às propriedades da classe Cliente. Ex: (nome, endereco, complemento, uf, telefone)

1º Clique com botão direito em “fields” e “Adicionar Field”

jasperreposts-5

Vamos criar o campo: nome.

2º Clique no campo que acabou de criar

3º Expanda a aba Propriedades

4º Configure o nome do campo.

jasperreposts-6

Agora que você já sabe criar um campo, crie os demais.

Após criar todos os fields, seu relatório deve se parecer conforme imagem abaixo:

jasperreposts-7

Para nosso relatório não ficar horrível muito feio, vamos inserir um título.

1º Expanda a aba Paletas;

2º Clique no componente Static Text e arraste-o até o relatório;

3º Clique no componente que acabou de inserir no relatório e edite-o com o texto “Relatório de Clientes”.

jasperreposts-8

Pronto \0/! Nosso relatório está preparado para receber uma lista de clientes. Salve e feche o relatório.

Configurando os JARs para o JasperReport

Para que o JasperReports se comporte da forma esperada, temos que adicionar algumas bibliotecas ao projeto.

1º Clique com o botão direito sobre o projeto, em Build Path e Configure Build Path;

jasperreposts-9

2º Clique em Add External JARs;

3º Selecione todos os JARs relativos ao JasperReport. Você pode baixar esse pacote de JARs aqui: http://www.4shared.com/zip/M15ld3lQce/JasperReport.html

4º Clique em Abrir.

jasperreposts-10

Após adicionar todos os JARs do JasperReports, sua aba de Libraries deve ficar assim:

jasperreposts-11

Criando a Classe Para Manipular o Relatório

No package relatorio, criaremos a classe que fara a ligação de nossa lista de Cliente com o relatório Jasper.

Nesta classe, implementaremos o método imprimir que receberá uma lista de clientes, a qual será enviada ao relatório.

Crie a classe com o seguinte código fonte:

Agora, temos que criar uma classe para testar nosso relatório. Criaremos esta nova classe no package testes. Crie a classe conforme o código fonte abaixo:

jasperreposts-13

Então, acabamos de terminar nosso pequeno projeto RelatorioJasper.

E esperado que sua estrutura de pacotes e classes fique conforme imagem a baixo.

jasperreposts-14

Então, nos resta rodarmos a classe RelatorioTeste.java e verificar em “c:/Relatorio_de_Clientes.pdf” se o arquivo foi gerado com sucesso.

O relatório deve estar como demostrado na figura abaixo:

jasperreposts-15

A partir de agora, sua imaginação é seu guia!

Obrigado!

Você pode se interessar

50 anos de Unix e o Y2K38
Artigos
6 visualizações
Artigos
6 visualizações

50 anos de Unix e o Y2K38

Carlos L. A. da Silva - 21 de janeiro de 2020

Sistema operacional completou meio século em outubro passado, mas primeiro de janeiro de 2020 marcou uma data muito importante.

Promoções de Jogos do Final de Semana (17/01)
Notícias
13 visualizações
Notícias
13 visualizações

Promoções de Jogos do Final de Semana (17/01)

Carlos L. A. da Silva - 17 de janeiro de 2020

Confira as melhores ofertas de jogos de PC para o final de semana.

Dez habilidades essenciais para desenvolvedores em 2020
Artigos
15 visualizações
Artigos
15 visualizações

Dez habilidades essenciais para desenvolvedores em 2020

Carlos L. A. da Silva - 16 de janeiro de 2020

Amplie e aperfeiçoe seu arsenal de conhecimento com essas competências fundamentais.

Mais publicações

Promoções de Jogos do Final de Semana (10/01)
Notícias
21 visualizações
21 visualizações

Promoções de Jogos do Final de Semana (10/01)

Carlos L. A. da Silva - 10 de janeiro de 2020
A IA do Google derrubou o câncer de mama? Não exatamente
Artigos
22 visualizações
22 visualizações

A IA do Google derrubou o câncer de mama? Não exatamente

Carlos L. A. da Silva - 10 de janeiro de 2020
Mudanças no YouTube para conteúdo infantil já estão valendo
Notícias
23 visualizações
23 visualizações

Mudanças no YouTube para conteúdo infantil já estão valendo

Carlos L. A. da Silva - 7 de janeiro de 2020
Frameworks de servidor HTTP para Dart
Artigos
34 visualizações
34 visualizações

Frameworks de servidor HTTP para Dart

Carlos L. A. da Silva - 6 de janeiro de 2020