Professional Documents
Culture Documents
Tutorial de IREPORT
JAVA
#código
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. Após digitar sua query, veja que existem os botões "Read
Fields" e "Save Query To Report". Clique no primeiro, "Read Field", que irá ler os campos que sua query retorna. Os campos irão aparecer
na parte de baixo da janela, com o nome identicado na query e seu tipo correspondete no JDBC. No nosso caso irão aparece os
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 1/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
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 botão "Register Fields To Report". Isto fará com
DEVMEDIA que os
Login
campos selecionados sejam criados ( registrados ) no relatório, para poderem ser utilizados. O botão "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á vericar se os campos quePowered
estãobyretornando
PushCrew na query já estão
Não registrados no relatório,
Permitir :) e não irão ser exibidos, exibindo
assim somente os campos novos. Para utilizar parâmetros 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 parâmetro do iReport em sua query, ele irá reclamar,
gerando um erro de SQL. 5. Antes de fechar a janela, altere sua query adicionando o parâmetro que iremos criar chamado de "PARAM1":
#código
Para trabalhar com parametros nas queries, devemos identicar 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, irão substituir esse valor pelo valor
que passaremos como parametro no relatório. 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. [i]Construindo o relatório[/i] Vamos vericar se os campos
foram criados corretamente. No meu "View", clique na opção "Report Fields", para abrir a janela dos campos do relatório. Nesta janela é
possível visualizar os campos criados no relatório, bem como as variáveis do relatório e os parâmetros. Agora devemos criar o
parâmetro que incluímos 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 parâmetro, no caso "PARAM1", o tipo do parâmetro, neste caso java.lang.String, e um valor default,
informe "VALOR DO PARAMETRO". Informe também uma descrição do parâmetro. 3. Clique em Ok, verique que o parametro foi criado.
Feche a janela. [i]Após criar o parâmetro, vamos adicionar os campos na tela.[/i] 1. No menu "Edit" vá na opção "Insert Element...".
Aparecerá os elementos que você pode inserir em seu relatório. Vamos inserir um "Static Text" clicando nesta opção. Um "Static Text" é
como um label, onde o seu texto cará estático: você informa o texto. 2. Verique que o cursor do mouse alterou. Clique em um local do
seu relatório, de preferência na área "Page Header", que é o cabeçalho de pagina para incluir o campo. 3. Clique agora no menu "View" e
selecione a opção "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 também alterar o tamanho direto no layout do relatório 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: "Relatório
Ireport - JasperReport". Pode fechar a janela, clicando no (X). 7. Para facilitar nossa vida, na barra de menu tem os botões de atalho. Para
criar um Text Field, clique no botão que contem a letra "F".Clique agora em alguma área do relatório, de preferência dentro da área
escrita "Detail", onde se encontram os detalhes. Após 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 [i]Feche a janela de propriedades do objeto.[/i] 8.
Vamos criar os outros dois campos do relatório: 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 vericar suas propriedades. Na janela de propriedades, clique na aba "Text Field" para alterarmos
as propriedades de campos dele. A propriedade "Texteld Expression Class" é a classe que esse texteld 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 relatório. 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". Após nalizar a conguração 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 relatório.
Conrme. Para compilar o seu relatório e gerar um arquivo . JASPER, clique no botão laranja, ao lado do zoom de visualização do
relatório. Para executar seu relatório utilizando a conexao ativa, vá em "Build" e "Execute Report ( using active conn )".
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 2/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
DEVMEDIA
Mais posts Login
queria saber como eh que faz pra misturar texto e elds em um mesmo campo tpow .....pro texto car assim dia F${dia}, do mes
F${mes}....... alguem sabe???
0|0
- 09 abr 2009
ops... o codigo q vc deve inserir no campo "TextField Expression" na aba "Text Field" na propriedade do elemento é o seguinte: "dia
"+$F{dia}+", do mes "+$F{mes} :!:
0|0
- 09 abr 2009
blz galera, tem como alguem mostrar um servlet exibindo o exemplo acima, tipo uma chamada em uma aplicação web. valeu
0|0
- 09 abr 2009
Saudações, gostaria de saber como faz para pegar uma imagem da base de dados e colocá-la num relatório do iReport. Esta imagem
está armazenada num campo do tipo blob. E o banco de dados que uso é o Postgres. Desde já, agradeço
0|0
- 09 abr 2009
Cara, primeiramente achei muito bacana essa publicação sua.. Mas travei logo no inicio... 1. O que é um ANT.. 2. Não achei nenhum .bat
com o iReport.. Podem me ajudar?? Obrigado! Rafael Ferreira / Ceará
0|0
- 09 abr 2009
citação:
="ceara"]Cara, primeiramente achei muito bacana essa publicação sua.. Mas travei logo no inicio... 1. O que é um ANT.. 2. Não
achei nenhum .bat com o iReport.. Podem me ajudar?? Obrigado! Rafael Ferreira / Ceará
Veja este tópico: http://www.javafree.com.br/forum/viewtopic.php?t=4993 []'s
0|0
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 3/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
- 09 abr 2009
DEVMEDIA Login
Dalton, Obrigado cara, eu peguei um pluggin para o NetBeans, mas estou apanhando aqui, nunca trabalhei com ANT e nem relatórios..
Obrigado Rafael Ferreira Ceará
Powered by PushCrew Não Permitir :)
0|0
- 09 abr 2009
Para usar o iReport precisa ter instalado o Jasper Report? Tô perdido. Não estou conseguindo nem instalar o Jasper Reports. Já baixei o
programa no site (http://jasperreports.sourceforge.net/requirements.html#jdbc) do sourceforge, mas ele só possui arquivos .jar. Pelo
que entendi terei que gerar uma aplicação em java para gerar os relatórios de que preciso. Eu estava utilizando o Crystal Reports, mas
essa m... não funciona em linux. Por isso resolvi mudar para o Jasper que até o momento me parece muito bom. Com excessão da
facilidade de instalar! Tentei segui as instruções no site do jasper reports, mas lá só passa o requerimento do programa. (Falando nisso
não encontrei o Driver JDBC que o site fala). E preciso urgentemente da ferramenta. Minha intenção é criar os relatórios tanto em
Windows como Linux e rodar os mesmos em ambas plataformas. Aqui eu utilizo o Windows 2000 Server e o Kurumin(Linux). As paginas
são desenvolvidas em ASP e o Banco é SQL, e eu gostaria de uma solução para chamar os relatórios a partir do asp. e só mais algumas
questões: O que é Ant e onde eu encontro? O JDK que o site se refere é o que vem com o NetBeans (Pois é este que está instalado na
minha máquina)? O JAXP XML Parser que o site se refere não está funcionando nenhum dos links e eu não consegui encontrá-lo. Onde
Achá-lo? Como instalar o XLS no windows 2000(Se é que precisa)?
0|0
- 09 abr 2009
Linomarcos... se tiver duvidas ainda sobre o IReport pode me cadastrar no messenger... eu tbm apanhei bastante do IReport qndo
começei... agora aprendi alguma coisa com ele alias... eu naum me importe de alguem me cadastrar... co feiz em poder ajudar tbm
******************* 24/11/2004 ********************** Pessoal... a algum tempo eu mudei de empresa, e agora não estou mais
trabalhando com Java, sendo assim não utilizo mais o JasperReport e nem o IReport... ainda assim podem me cadastrar no msn... mas
não tenho mais nenhum exemplo de relatorio para auxilia-los... ****************************************************
0|0
- 09 abr 2009
Aproveitando esse tópico... Alguém aí sabe como fazer um relatório "zebrado" (as linhas cam alternando de cor pra facilitar a leitura)
??? Agradeço sua atenção.
0|0
- 09 abr 2009
EhPegue o arquivo .jar do Jasper e coloque na variável de ambiente CLASSPATH. Como q é isso? Na minha variavel de ambiente tem: -
0|0
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 4/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
DEVMEDIA Login
- 09 abr 2009
Eh Não Permitir :)
Powered by PushCrew
citação:
:arrow: kra... naum to lembrado direito, mas acho q vc deve adicionar esses endereços em "Variaveis do Ambiente" no windows, depende
da versão q vc usa, tipow no windows 2000, vc vai em propriedades do sistema, na aba avançado tem lah o botão variaveis do
ambiente... acho q eh isso no linux naum sei como funciona :wink: mas tenta isso ai, depois vc diz se funciona :!:
0|0
- 09 abr 2009
Olá pessoal, estou com um probleminha com um relatório em jasper. Eu uso o Ireport e estou tentando evitar a quebra de relatório por
página. Necessito que, se um relatório não couber no espaço restante de uma página, esse relatorio deve iniciar em uma nova pagina,
deixando todo o espaço no nal da pagina atual em branco. Este relatório contem 4 grupos e eu tentei congurar estes grupos na opção
"print header on each page" no menu "Add/modify group". Com essa conguração, quando não há espaço para o relatório; este é
impresso até o nal da página, ocorre a quebra, mas todo o relatório se repete na nova página. O problema seria resolvido se o relatório
não fosse impresso no nal da página onde ocorre a quebra. Não sei se daria para resolver este problema utilizando a opção "Group
Expression". Aguardo sugestöes. Obrigado galera. Flavio
0|0
- 09 abr 2009
Ae pessoal, Alguem sabe como fazer uma multiplicacao no iReport? Crio uma variavel no iReport? Quero multiplicar os valores de dois
- 09 abr 2009
Alguem tem um tutorial de iReport utilizando a entrada de dados via COLLECTION ou ARRAY?? E sei tiver como criar um PDF somente
em memoria para WEB agradeço
0|0
- 09 abr 2009
Seguinte cara,,, Vc possui algum exemplo de como alimentar um relatorio feito em JasperReport através de um Collection ou Array?? Pq
até agora soh vi exemplo com sql do banco.
0|0
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 5/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
DEVMEDIA Login
- 09 abr 2009
0|0
- 09 abr 2009
Caro Rafael Ferreira Para executar um relaótiro feito pelo Ireport vc utilizará o arquivo compilado do seu relatório XX.jrxml Logo vc criara
um classe em java que será chamada pelo seu programa. Algo parecido com :
#código
import java.io.IOException;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import javax.swing.text.BadLocationException;
import javax.swing.text.rtf.RTFEditorKit;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
/* Primeira parte */
public class RelatorioLaboratorio {
public RelatorioLaboratorio() {
/* Efetua a conexao a base de dados e coleta os valores da base de dados armazenando-os
em um array para ser futuramente utilizado */
try {
if (con == null) {
Class.forName(driver);
con = DriverManager.getConnection(endereco, user, pass);
Statement statement = con.createStatement();
rs = statement.executeQuery("select a ser executado");
HashMap teste = new HashMap();
while(rs.next()) {
//for até o numero de campos da tabela
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 6/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
for (int i = 1; i < 10; i++) {
valores[i] = rs.getString(i);
DEVMEDIA }
Login
}
}
} Powered by PushCrew Não Permitir :)
catch (Exception e) {
System.err.println("Problemas apresentados na operacao de conexao");
e.printStackTrace();
}
/* Inicio do bloco que ira gerar nossos relatorios e 3ª parte */
try {
String array[] = valores;
0|0
- 09 abr 2009
Galera.... estou gerando relatorios com o ireport numa boa, mas estou com um pequeno problema. A quebra de página está errada, ele
está quebrando com +- 2/3 da página e ja começa o conteúdo da proóxima página na mesma. Se alguém tiver alguma idéia de como
resolver isso, responda pf.
0|0
- 09 abr 2009
Desculpe a lerdeza... Mas voltei a implementar esse meu projeto... Montei o meu software que joga tudo no banco e consegui fazer o
iReport rodar e montei o relatorio e tudo funciona.. Está faltando a integração entre os 2. Copiei o codigo que o amigo colocou lá em
cima... Mas estou tendo erros nas lib´s.... não acha aqui pra compilar
#código
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 7/8
12/11/2017 TutorialdeIREPORT-FórumDevMedia
DEVMEDIA Login
citação:
1 2 3
Revistas
Baixe o App
APIs
Fale conosco
https://www.devmedia.com.br/forum/tutorial-de-ireport/566409 8/8