Olá desenvolvedores, nesta terceira parte da série de tutoriais sobre exportação de dados, construiremos agora o relatório com o iReport. Como a fonte de dados que iremos utilizar é a JRBeanCollectionDataSource a qual definimos, precisaremos então exportar a classe Usuario em jar.
ADICIONANDO ITEM AO INDEX
Antes de começarmos a trabalhar com o iReport, na página index implemente mais um link direcionando para a página de relatórios.
Dentro da subpasta pages crie a página JSP, relatório.jsp. Com a página criada você pode adicionar um título a ela. Porém, implementaremos ainda dois links, cujo endereço é a servlet seguida do parâmetro do tipo de arquivo, PDF ou Excel (xls).
CRIANDO ARQUIVO .JAR
Assim, clique com o botão direito do mouse sobre Usuario.java do package de entidades >> Export >> JAR file e clique em Next. No painel JAR File Specification iremos transformar a classe em um jar. Desse modo proceda como exemplificado na imagem abaixo. E clicando em Browse você poderá definir onde salvar seu arquivo, definido o local clique em .jar >> Next >> Finish.
Para o próximo passo você precisará do iReport instalado, assim, se ainda não o instalou, clique aqui para fazer o download na comunidade do Jaspersoft ou aqui para baixar direto pelo repositório do sourceforge. Mas aconselho fortemente que o faça pelo Jaspersofy Community.
Tendo instalado o iReport, e com ele aberto, na barra de menu clique em Ferramentas >> Opções. Na aba Classpath clique em Add JAR para adicionar o usuario_jar.jar que acabamos de criar, ative-o e clique em OK.
RELATÓRIO NO iREPORT
Para criar um relatório no iReport na barra de menu clique em Arquivos >> New. Com a opção Report selecionada escolha um template básico para começar, como o Leaf Violet e clique em Open This Template.
Na nova janela você deverá atribuir um nome para o relatório, atente-se, o nome deverá ser o mesmo que você atribuiu a ele na servlet, neste caso rel_usuario. Clique em Próximo >> Finalizar.
Com o template aberto iremos definir a fonte de dados. E para defini-la clique no ícone como mostra a imagem.
Com o painel Report Query aberto clique na aba JavaBean Datasource para apontarmos para a classe do objeto, a classe Usuario. O nome da classe deverá estar precedido do nome do pacote onde ela está, na sequência clique em Read atributes, para que ele possa ler e exibir os atributos do objeto. Então selecione os atributos que lhe interessa e clique em Add selected field(s) >> Preview OK.
Estes campos poderão ser encontrados no menu lateral a esquerda em Fields. E neste mesmo menu você pode apagar todos os elementos que considera desnecessário para o seu relatório. Para o exemplo deixei apenas os detalhes (Detail). Os elementos que podem ou não serem apagados estão na opção Scriptlets.
EDITANDO O RELATÓRIO NO iREPORT
Agora selecione e arraste o id e login para área Detail do relatório, como não queremos exibir a senha, não é preciso arrastá-lo. Você pode também adicionar um título arrastando um label para a área de detalhes.
Selecione o relatório, e nas propriedades dele que ficam a direita do iReport, selecione Language e defina Java como a linguagem, salve e clique em Compile Reporte para compilar o relatório.
Ele irá gerar no local determinado um arquivo .jasper, copie e cole este arquivo dentro do package relatórios.
Antes de subirmos o projeto para testarmos precisamos das bibliotecas sem as quais a página apresentará erros. Desse modo para fazer o download das bibliotecas clique neste link. Adicione as bibliotecas dentro da subpasta lib. Selecione todas as bibliotecas adicionadas >> botão direito >> Build Path >> Add to Build Path, e novamente “starte” o servidor.
EM POUCAS PALAVRAS
E assim temos a exportação do relatório em PDF funcionando perfeitamente, falta-nos apenas fazer alguns ajustes para podermos optar se queremos exportar em PDF ou Excel. Eu fico por aqui e nos vemos no próximo tutorial com os ajustes.