Você está na página 1de 5

Tutorial iReport 0.2.2 Por Bruno R. Lima ( aebrlima@hotmail.com ) Criando relatrios JasperReports utilizando iReport e uma conexo JDBC.

+ O QUE IREPORT ? + CRIANDO UM RELATORIO SIMPLES ++ Iniciando o iReport ++ Criando um Relatrio ++ Criando a origem dos dados ++ Selecionado a visualizao no Ireport ++ Criando o SELECT dos dados ++ Construindo o relatrio O QUE O IREPORT ? O iReport uma ferramenta que visa facilitar a construo de relatrios utilizando a biblioteca JasperReports ( http://jasperreports.sourceforge.net ) atravs de uma interface grfica desenvolvida em Swing. Ele dispe de importantes ferramentas para desenvolver relatrios complexos e demorados. Mesmo sem nenhum conhecimento das bibliotecas do JasperReports, voc consegue criar relatrios muito interessantes atravs desta ferramenta e aprender a entender as tags XML utilizadas no JasperReports. CRIANDO UM RELATORIO SIMPLES Iniciando o iReport Se voc tiver o Ant instalado em sua maquina, altere o arquivo iReport.bat e iReport.sh para setar o diretrio de instalao. Se voc no tem o Ant instalado, v ao subdiretrio noAnt e execute o arquivo startup.bat para inici-lo. Criando um Relatrio No menu File, clique em New Document; Ir aparecer a janela para configurar o seu relatrio, entre essas configuraes esto o nome do relatrio, tamanho da folha utilizada, margens, colunas do relatrio entre outras opes. Para configurar um relatrio j criado, alterar o tamanho da folha, margens, etc. v ao menu View > Report Properties. Criando a origem dos dados 1. Agora vamos criar uma conexo JDBC para enxergar o banco de dados. 2. Va ao menu DataSources > Connections / DataSources.

3. Ir aparecer uma janela contendo as suas conexes de fonte de dados. Agora iremos criar uma conexo JDBC. 4. Clique no boto New; Selecione em "Type Of Connection / DataSource" a opo "DataBase JDBC Connection". 5. Defina um nome para a conexo: este nome apenas para identific-lo no iReport. Ex: "MinhaConexao" 6. Agora voc deve selecionar o driver JDBC a ser utilizado. Neste caso vamos utilizar o driver da Oracle, "oracle.jdbc.driver.OracleDriver". Preencha tambm a URL de conexo com o banco: "jdbc:oracle:thin:@::". Voc deve substituir as opes: - - Endereo da maquina onde o banco de encontra. Ex: 192.168.0.1; - - Porta de conexo do banco; Default 1521; - - A instancia do banco. Ex: oradata; Neste caso nossa URL seria: "jdbc:oracle:thin:@192.168.0.1:1521:oradata". 7. Informe os campos "Database" com a instancia do banco, "User" com o usurio e "password" com a senha do seu banco. Essas informaes so necessrias para o iReport conectar-se no banco para obter informaes da coluna. Clique em TEST para testar se a conexo est ok. Se estiver tudo em ordem, clique na opo SAVE para salvar sua conexo. Se voc quiser alterar alguma dessas informaes, clique no boto "Modify" da janela "Connections/Datasources". Aps criada a conexo, apenas clique no "X" no canto j janela para fech-la. Agora que voc criou sua conexo, devemos informar que vamos us-la no relatrio, ento v ao menu "Build" e clique na opo "Set Active Connection". Ir aparecer uma lista das conexes disponveis. Clique na conexo que criamos, a "MinhaConexao" e clique em ok para selecion-la.

Selecionado a visualizao no IReport Aps criada a conexo, devemos selecionar qual forma queremos visualizar nosso relatrio depois de pronto. As opes disponveis so aquelas que o Jasper disponibiliza. Vamos selecionar a opo PDF Preview para ver em PDF.

Criando o SELECT dos dados Bem, como o relatrio apenas fictcio, criaremos a seguinte query para retornar apenas alguns campos utilizados no relatrio. 1. SELECT 'Meu Primeiro Relatorio' TITULO, 2. SYSDATE DATA_CORRENTE, 3. 5000 DIAS

4. FROM DUAL

1. V para o menu "Datasource > Report Queries". 2. Ao abrir a janela, encontra-se a area onde dever ser digitado a sua query. Nesta janela, voc pode criar qualquer query, pois o que importa o resultado dela. 3. Aps digitar sua query, veja que existem os botes "Read Fields" e "Save Query To Report". Clique no primeiro, "Read Field", que ir ler os campos que sua query retorna. Os campos iro aparecer na parte de baixo da janela, com o nome identificado na query e seu tipo correspondete no JDBC. No nosso caso iro aparece os seguintes campos: - TITULO : java.lang.String - DATA_CORRENTE : java.sql.Timestamp - DIAS : java.lang.Double

4. Selecione estes campos, clicando no primeiro, segure a tecla SHIFT e clique no ultimo. Clique no boto "Register Fields To Report". Isto far com que os campos selecionados sejam criados ( registrados ) no relatrio, para poderem ser utilizados. O boto "Clear List" limpa os campos encontrados na sua query. Se voc, por acaso mais tarde resolver incluir um novo campo na sua query, ao clicar no "Register Fields To Report" ele ir verificar se os campos que esto retornando na query j esto registrados no relatrio, e no iro ser exibidos, exibindo assim somente os campos novos. Para utilizar parmetros no SQL, teremos que adicion-los depois de criados os campos. Por que? Porque o iReport executa a query do jeito que esta no banco, e se existir algum parmetro do iReport em sua query, ele ir reclamar, gerando um erro de SQL. 5. Antes de fechar a janela, altere sua query adicionando o parmetro que iremos criar chamado de "PARAM1": 1. SELECT ?Meu Primeiro Relatorio? TITULO, 2. SYSDATE DATA_CORRENTE, 3. 5000 DIAS, 4. $P{PARAM1} PARAMETRO 5. FROM DUAL

Para trabalhar com parametros nas queries, devemos identificar que o valor um valor do iReport, que dever ser substituido. Por isso utilizamos a sintaxe $P{"nome do parametro"}. Assim, quando executarem a nossa query no relatorio, iro substituir esse valor pelo valor que passaremos como parametro no relatrio. No caso de uma variavel, a sintaxe muda para $V{"nome da variavel"}. Agora clique em "Save Query to Report" e clique em Close para salvar a query e fechar a janela.

Construindo o relatrio Vamos verificar se os campos foram criados corretamente. No meu "View", clique na opo "Report Fields", para abrir a janela dos campos do relatrio. Nesta janela possvel visualizar os campos criados no relatrio, bem como as variveis do relatrio e os parmetros. Agora devemos criar o parmetro que inclumos na nossa query, o "PARAM1". 1. Com a janela que exibe os campos aberta, v na aba "Parameters". 2. Clique em "New"; Informe o nome do parmetro, no caso "PARAM1", o tipo do parmetro, neste caso java.lang.String, e um valor default, informe "VALOR DO PARAMETRO". Informe tambm uma descrio do parmetro. 3. Clique em Ok, verifique que o parametro foi criado. Feche a janela.

Aps criar o parmetro, vamos adicionar os campos na tela.

1. No menu "Edit" v na opo "Insert Element...". Aparecer os elementos que voc pode inserir em seu relatrio. Vamos inserir um "Static Text" clicando nesta opo. Um "Static Text" como um label, onde o seu texto ficar esttico: voc informa o texto. 2. Verifique que o cursor do mouse alterou. Clique em um local do seu relatrio, de preferncia na rea "Page Header", que o cabealho de pagina para incluir o campo. 3. Clique agora no menu "View" e selecione a opo "Element Property". Ir aparecer a janela com as propriedades do campo criado. 4. Vamos alterar o tamanho dele. Altere a propriedade Width e Height para o tamanho desejado. Voc pode tambm alterar o tamanho direto no layout do relatrio apenas clicando e arrastando pelas bordas do objeto. Para deixar um tamanho padrao, vamos setar as propriedades para: - Width: 300 - Height: 30 - Top: 10 - Left: 120 5. Na segunda aba da janela, "Font" vamos informar a fonte usada no objeto, clique nela. Altere as propriedade para: - "Font Name" = "Arial" - "Size" = 18 - "Bold" = Checked - "Horizontal Align" = Center - "Vertical Align" = Middle

6. Na terceira aba, "Static Text" onde vamos informar o texto que dever aparecer, clique nela. Na rea que aparece, apague o texto e digite: "Relatrio Ireport -

JasperReport". Pode fechar a janela, clicando no (X). 7. Para facilitar nossa vida, na barra de menu tem os botes de atalho. Para criar um Text Field, clique no boto que contem a letra "F".Clique agora em alguma rea do relatrio, de preferncia dentro da rea escrita "Detail", onde se encontram os detalhes. Aps inserir o campo, de um duplo clique sobre ele, e ver que aparece a caixa de propriedades do objeto. semelhante as propriedades de um "Static Text" exceto pelas novas abas "Text Field" e "Hyper Link". Altere as propriedades abaixo na aba "Commom" - Width: 280 - Height: 18 - Top: 10 - Left: 15 Feche a janela de propriedades do objeto. 8. Vamos criar os outros dois campos do relatrio: Repita o mesmo procedimento anterior para incluir um campo, mas alterar a propriedade Top para 30 em um e 50 no outro campo. Assim voc ir criar mais 2 campos um logo abaixo do outro. 9. D um duplo clique no primeiro campo criado para verificar suas propriedades. Na janela de propriedades, clique na aba "Text Field" para alterarmos as propriedades de campos dele. A propriedade "Textfield Expression Class" a classe que esse textfield ir representar. No nosse exemplo, esse campo ir representar o titulo que retornar da query. Altere para java.lang.String. A propriedade "Text Field Expression" o valor que a mesma ir imprimir, preencha com $F{TITULO}. Sem fechar a janela, seleciona o segundo campo criado no relatrio. Na mesma aba selecionada, a "Text Field" das propriedades do campo, altera as propriedades "TextField Expression Class" para java.util.Date e a propriedade "Text Field Expression" para $F{DATA_CORRENTE}. Altere a propriedade Pattern para "dd/MM/yyyy", que o formato que queremos exibir a data. Agora clique no terceiro campo criado e altere as propriedades "TextField Expression Class" para java.lang.Double, "Text Field Expression" para $F{DIAS} e o Pattern para "0000". Aps finalizar a configurao dos campos, clique em Save no meu File para salvar o arquivo, ou no disquete na barra de atalho. Informe o arquivo XML para o qual deseja salvar seu relatrio. Confirme. Para compilar o seu relatrio e gerar um arquivo . JASPER, clique no boto laranja, ao lado do zoom de visualizao do relatrio. Para executar seu relatrio utilizando a conexao ativa, v em "Build" e "Execute Report ( using active conn )".

Você também pode gostar