Desenvolvendo o Primeiro Relatrio Usando Ireport

Preview:

Citation preview

Desenvolvendo o primeiro relatório usando iReport

Este tutorial está voltado a desenvolvedores que buscam facilidade na geração de relatórios. Este é o segundo em que é abordado o iReport(o primeiro pode ser acessado aqui-link), onde será mostrada a geração de um relatório simples.

Para criar um relatório do zero, abra o Ireport, vá em ”Arquivo” > ”Novo Documento”. A seguinte tela irá abrir:

Nesta tela, pode-se configurar várias coisas além de dar o nome ao relatório, como o tamanho da pagina, largura, altura, as colunas que vão ter no seu relatório...

Para fins exemplares, será dado o nome de “relatorioDeAlunos”.

Após nomear o seu relatório e confirmar, seu ambiente de trabalho terá somente as Bands vazias. Bands nada mais são que as divisões do seu relatório. Inicialmente as seguintes bands estão expostas: title, pageHeader, columnHeader, detail, columnFooter, pageFooter, lastPageFooter e summary. Veja na imagem a seguir:

Cada Band tem sua função. Para este tutorial será exibida a utilização de apenas algumas, que serão: 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 idéia, porém não chegando até o final em caso de diminuição.

Um ponto importante a se abordar, é que como este relatório esta voltado para consultas SQL, é necessário ter uma base de dados. Lembrando que já foi feito um tutorial de configuração 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 expressão:

INSERT INTO Alunos(matricula, nome, email)

VALUES('123456','Eleusis Domingos','eledomingos@bla.com'),

('683068','Malvazzo dos Santos','santos@bla.com'),

('888456','Fledeber Custódio','cust@bla.com'),

('344345','Xenophonte','santos@bla.com'),

('658098','Nevestalino Agrievespino','neves@bla.com'),

('655558','Seth Cruz','cruz@bla.com'),

('835355','Juarestavão 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','Eunápio Rafael','rafaeu@bla.com'),

('444444','Jurutitabino','jururu@bla.com'),

('555555','Retioptica','olho@bla.com'),

('666666','Bokerate','bokerao@bla.com')

Após popular o banco, será feito o mesmo passo que no primeiro tutorial, sendo então a definição de uma conexão. Para isto, vá em Data > Conexões / Fonte de Dados. Botão “Novo” > Selecione “Conexão de banco de Dados JDBC” e clique em ”Próximo”. Irá abrir uma janela, em que nela terá de ser preenchidos alguns campos. Assim fica preenchido:

Para verificar se tudo está funcionando, clique no botão “Teste”. Ocorrendo tudo certo, pode salvar.

Agora que tem uma base de dados, é possível gerar um relatório de forma que o mesmo seja preenchido com valores vindo do banco.

Uma das primeiras coisas que normalmente é feita na geração de relatórios é a definição de textos estáticos. Estes por serem estáticos, não sofreram nenhum tipo de alteração por conta do DB.

Em sua band columnHeader você terá que definir justamente os campos estáticos. No caso os campos serão: Matricula, Nome e E-mail. Para isso clique no ícone conforme a imagem a seguir:

Após clicar, é só definir um tamanho e a posição 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. Após isso clique com o botão direito sobre este desenho e vá em propriedades.

Clique com o botão direito sobre este desenho e vá em propriedades. A seguinte janela irá aparecer. Vá na aba “Imagem” e clique no botão “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 “mão”, basta selecionar a imagem e clicar no seguinte ícone:

Na mesma band, é possível colocar texto. Se achar interessante, para colocar é do mesmo jeito que em qualquer outra band. Só clicar no “T” e definir uma posição.

Veja como ficou:

Agora o relatório está bem mais interesante!

Para visualizar, vá em “Criar” > “Executar Relatório”.

Agora vem a parte mais interessante. Receber valores do banco!

Vá em ”Data” > ”Query do Relatório...”. 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 botão “OK”(3).

Veja nesta imagem, que apenas clicando é possível gera um SQL. De “OK” novamente...

No canto esquerdo da tela, foram criados os campos que serão usados, devido o SQL então gerado. Para colocá-los no relatório, basta arrastar para a band, que no caso será a detail.

Após 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 fácil 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 inacessível, de tal forma que não é possível visualizar. Para solucionar esse problema, clique com o botão direito no quadrado e vá em “Enviar para trás” conforme mostrado na imagem a seguir:

Para colorir, novamente clique com o botão 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 conexão ativa e veja que o relatório ficou só de uma cor, caso tenha definido uma cor, é claro. Executando na opção de conexão ativa você já estará buscando valores do banco de dados.

Para solucionar, você terá que primeiro criar uma variável e depois um script.

Variável: clique com o botão direito em cima do campo “Variáveis”, vá em “Add”> “Variable”.

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

Nela você está definindo o nome da variável, assim como o tipo de classe e como ela será calculada, por isso tem que passar a expressão que a variável irá receber, que no caso ta recebendo o valor “1”.

Script: clique execom o botão 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 expressão:

new Boolean(new Integer (($V{CONT}.intValue())%2).equals(new Integer("1")))

Se for seguir a risca esta expressão, tome cuidado com “$V{CONT}”. Nesta parte na expressão você tem que passar exatamente o nome da variável criada anteriormente. Feche a janela e execute(conexão ativa) o relatório.

Se você tiver usando a base disponibilizada neste tutorial, e tiver ocorrido tudo bem até então, seu relatório ficará da seguinte forma:

Agora tem-se um relatório bem bonito, buscando direto do banco.

Espero que eu tenha feito ser entendido. Até o próximo!!