Você está na página 1de 12

Desenvolvendo o primeiro relatrio usando iReport

Este tutorial est voltado a desenvolvedores que buscam facilidade na gerao de relatrios. Este o segundo em que abordado o iReport(o primeiro pode ser acessado aqui-link), onde ser mostrada a gerao de um relatrio simples. Para criar um relatrio do zero, abra o Ireport, v em Arquivo > Novo Documento. A seguinte tela ir abrir:

Nesta tela, pode-se configurar vrias coisas alm de dar o nome ao relatrio, como o tamanho da pagina, largura, altura, as colunas que vo ter no seu relatrio... Para fins exemplares, ser dado o nome de relatorioDeAlunos. Aps nomear o seu relatrio e confirmar, seu ambiente de trabalho ter somente as Bands vazias. Bands nada mais so que as divises do seu relatrio. Inicialmente as seguintes bands esto expostas: title, pageHeader, columnHeader, detail, columnFooter, pageFooter, lastPageFooter e summary. Veja na imagem a seguir:

Cada Band tem sua funo. Para este tutorial ser exibida a utilizao de apenas algumas, que sero: pageHeader, columnHeader, detail, pageFooter e summary. Para excluir ou redimensionar as bands, muito simples. Para excluir selecione o limite inferior da band desejada e mova-a at o seu limite superior. Para aumentar ou diminuir, a mesma idia, porm no chegando at o final em caso de diminuio. Um ponto importante a se abordar, que como este relatrio esta voltado para consultas SQL, necessrio ter uma base de dados. Lembrando que j foi feito um tutorial de configurao do IReport para acesso ao Banco de Dados. De forma a exemplificar, ser usada uma tabela Alunos do banco tutorial com os seguintes campos: matricula, nome e email. CREATE TABLE `tutorial`.`Alunos` ( `matricula` INT( 10 ), `nome` VARCHAR( 50 ), `email` VARCHAR( 50 ), PRIMARY KEY ( `matricula` ) ) Para popular o banco para exemplificar, basta executar a seguinte expresso: INSERT INTO Alunos(matricula, nome, email) VALUES('123456','Eleusis Domingos','eledomingos@bla.com'), ('683068','Malvazzo dos Santos','santos@bla.com'), ('888456','Fledeber Custdio','cust@bla.com'),

('344345','Xenophonte','santos@bla.com'), ('658098','Nevestalino Agrievespino','neves@bla.com'), ('655558','Seth Cruz','cruz@bla.com'), ('835355','Juarestavo Carrasco','juajua@bla.com'), ('999345','Xenophonte','eitaxeno@bla.com'), ('555455','Elabudas Siqueira','bundasique@bla.com'), ('655464','Tarcadzo Redondo','redtar@bla.com'), ('687222','Flexyozo Trabatela','trabalela@bla.com'), ('222222','Tenoquititi','titi@bla.com'), ('111111','Talino vespertino','talino@bla.com'), ('333333','Orozimbo','oro@bla.com'), ('444444','Jantunes de Arma','anta@bla.com'), ('555555','Xeroquixi','xero@bla.com'), ('666666','Eunpio Rafael','rafaeu@bla.com'), ('444444','Jurutitabino','jururu@bla.com'), ('555555','Retioptica','olho@bla.com'), ('666666','Bokerate','bokerao@bla.com')

Aps popular o banco, ser feito o mesmo passo que no primeiro tutorial, sendo ento a definio de uma conexo. Para isto, v em Data > Conexes / Fonte de Dados. Boto Novo > Selecione Conexo de banco de Dados JDBC e clique em Prximo. Ir abrir uma janela, em que nela ter de ser preenchidos alguns campos. Assim fica preenchido:

Para verificar se tudo est funcionando, clique no boto Teste. Ocorrendo tudo certo, pode salvar. Agora que tem uma base de dados, possvel gerar um relatrio de forma que o mesmo seja preenchido com valores vindo do banco. Uma das primeiras coisas que normalmente feita na gerao de relatrios a definio de textos estticos. Estes por serem estticos, no sofreram nenhum tipo de alterao por conta do DB. Em sua band columnHeader voc ter que definir justamente os campos estticos. No caso os campos sero: Matricula, Nome e E-mail. Para isso clique no cone conforme a imagem a seguir:

Aps clicar, s definir um tamanho e a posio na devida band. Repare que tudo muito parecido com um aplicativo Office, onde pode-se definir o tipo de fonte, o tamanho da mesma, alinhamento, e por ai vai... Fazendo alguns ajustes, veja o resultado:

Para deixar com um aspecto visual mais atraente, pode-se inserir imagem. Para isso, siga os seguintes passos: Clique no seguinte cone:

Coloque na band pageHeader, definindo o tamanho conforme o desejado. Aps isso clique com o boto direito sobre este desenho e v em propriedades.

Clique com o boto direito sobre este desenho e v em propriedades. A seguinte janela ir aparecer. V na aba Imagem e clique no boto Encontrar e l voc escolhe a imagem que quiser do seu computador.

Feito isso, caso queira deixar a imagem centralizada, sem ter que ser feito na mo, basta selecionar a imagem e clicar no seguinte cone:

Na mesma band, possvel colocar texto. Se achar interessante, para colocar do mesmo jeito que em qualquer outra band. S clicar no T e definir uma posio. Veja como ficou:

Agora o relatrio est bem mais interesante! Para visualizar, v em Criar > Executar Relatrio.

Agora vem a parte mais interessante. Receber valores do banco! V em Data > Query do Relatrio.... A seguinte tela ir abrir: Nela clique em Query designer

Seguindo... Com a tela de Query design aberta, de 2 cliques na tabela alunos(1), depois selecione os campos desejados, no caso foram todos(2) e por final aperte no boto OK(3).

Veja nesta imagem, que apenas clicando possvel gera um SQL. De OK novamente...

No canto esquerdo da tela, foram criados os campos que sero usados, devido o SQL ento gerado. Para coloc-los no relatrio, basta arrastar para a band, que no caso ser a detail. Aps arrastar os campos e ajeitar os limites da band, veja como ficou:

Para melhorar o design, pode-se fazer com que a lista de alunos, retorne zebrada. Veja como se faz: Clique no seguinte cone e o desenhe na band detail:

Uma forma bem fcil de deixar o quadrado do tamanho da band, clicar no seguinte cone. Com ele, o quadrado desenhado fica com a largura e altura da sua band:

Fazendo isso o quadrado cobre toda a band, de tal forma que tudo o que j tinha sido feito, fica inacessvel, de tal forma que no possvel visualizar. Para solucionar esse problema, clique com o boto direito no quadrado e v em Enviar para trs conforme mostrado na imagem a seguir:

Para colorir, novamente clique com o boto direito, porem dessa vez v em propriedades. A seguinte janela ir abrir. Na aba Comum , existe dois campos que interessam saber agora, o Primeiro Plano e Segundo Plano. No primeiro ser definido a borda do seu quadrado, enquanto no segundo, a cor de fundo. Escolha as cores que quiser e feche a tela.

Execute em conexo ativa e veja que o relatrio ficou s de uma cor, caso tenha definido uma cor, claro. Executando na opo de conexo ativa voc j estar buscando valores do banco de dados. Para solucionar, voc ter que primeiro criar uma varivel e depois um script. Varivel: clique com o boto direito em cima do campo Variveis, v em Add> Variable.

Ir abrir uma janela. Preencha-a da seguinte forma:

Nela voc est definindo o nome da varivel, assim como o tipo de classe e como ela ser calculada, por isso tem que passar a expresso que a varivel ir receber, que no caso ta recebendo o valor 1. Script: clique execom o boto direito em cima do quadrado e v em propriedades. Ir abrir a imagem abaixo. Coloque no campo de texto na parte inferior da tela e escreva a seguinte expresso: new Boolean(new Integer (($V{CONT}.intValue())%2).equals(new Integer("1")))

Se for seguir a risca esta expresso, tome cuidado com $V{CONT}. Nesta parte na expresso voc tem que passar exatamente o nome da varivel criada anteriormente. Feche a janela e execute(conexo ativa) o relatrio. Se voc tiver usando a base disponibilizada neste tutorial, e tiver ocorrido tudo bem at ento, seu relatrio ficar da seguinte forma:

Agora tem-se um relatrio bem bonito, buscando direto do banco.

Espero que eu tenha feito ser entendido. At o prximo!!

Você também pode gostar