Tutorial JasperReports:O que é o relatório Jasper para Java? Exemplo
O que é JasperReports para Java?
JasperReports é uma ferramenta de relatório de código aberto para Java que é usada para relatórios de aplicativos. Essa ferramenta de relatório ajuda a escrever conteúdo rico na tela, na impressora ou em uma variedade de arquivos como HTML, PDF, XLS, RTF, CSV, XML, ODT e TXT. JasperReports também pode ser usado para aplicativos habilitados para Java como Java EE ou aplicativos da web para gerar conteúdo dinâmico.
Neste tutorial passo a passo do JasperReports, você aprenderá:
- O que é o Jasper Reports?
- Como instalar o Jasper Reports?
- Por que usar o Jasper Reports?
- Ciclo de vida do JasperReports
- Recursos do Jasper Reports
- Jasper x Pentaho
- Criando um exemplo de modelo de relatório
- Desafios enfrentados ao criar JasperReports
- Desvantagens do uso do Jasper Reports
Como instalar o Jasper Reports - Configuração do ambiente
Agora, neste tutorial do Jaspersoft Studio, vamos aprender o processo passo a passo para a configuração do ambiente JasperReports:
Etapa 1) Baixe o Jasper Reports Community Edition
Vá para este link e clique na opção Baixar Agora para instalar o Jasper Reports Community Edition.
Etapa 2) Selecione Jaspersoft Studio CE
Nas edições da comunidade, selecione Jaspersoft Studio CE
Etapa 3) Baixe o Jaspersoft Studio
Vá para este link e clique no botão Download. abra o download do arquivo TIB_js-studiocomm_6.9.0_windows_x86_64.exe.TIB_js-studiocomm_6.9.0_windows_x86_64.exe.
Etapa 4) Clique no botão concordo
A seguinte tela será exibida, selecione o botão Concordo.
Etapa 5) Escolha o local
Selecione o local de instalação e clique no botão Avançar.
Etapa 6) O progresso está sendo executado agora
Você verá o progresso na próxima tela.
Etapa 7) Clique no botão Concluir
Na próxima tela, clique no botão Concluir.
Etapa 8) O progresso está completo
A tela a seguir aparecerá na sua janela.
Etapa 9) Começar
Em seguida, clique na opção Começar.
Etapa 10) Comece a trabalhar com o estúdio Jasper Reports
A tela a seguir aparecerá, você pode começar a trabalhar com o estúdio Jasper Reports.
Por que usar o Jasper Reports?
Aqui estão muitos motivos para usar uma ferramenta de relatório Jasper:
- Ele oferece desempenho de geração de relatórios e entrega aos usuários.
- Ajuda você a representar seus dados em formato textual ou gráfico.
- É um servidor de relatórios autônomo e incorporado para compilação e execução de relatórios.
- Permite controle de acesso baseado em função para todos os relatórios no repositório.
- Uma estrutura de segurança de mola para integração com sistemas de autenticação internos
- Ele oferece um mecanismo de relatório interativo seguro, programado e de entrega automática.
- Você pode incorporar relatórios em aplicativos Java ou não Java.
- Vários formatos de relatórios podem ser exportados.
- Os desenvolvedores podem fornecer dados de várias maneiras.
- Ele pode gerar marcas d'água que são colocadas sobre a imagem principal.
- Ele oferece um conjunto completo de SOAP, REST e Web Services.
- Permite que você use dados de relatórios únicos de várias fontes de dados.
Ciclo de vida do JasperReports
Agora, neste tutorial do JasperReports, aprenderemos sobre o ciclo de vida do JasperReports.
Veja a seguir o fluxo geral do ciclo de vida dos relatórios Jasper:
Desenhar o relatório:
Este será o primeiro passo onde criamos o arquivo JRXML. É o arquivo é um documento XML simples que define o layout do relatório. Você pode desenvolver esse arquivo usando qualquer editor de texto ou designer de relatórios.
No entanto, se você estiver usando o designer de relatórios, podemos visualizar o layout do relatório, e a estrutura real do JRXML deve ser ignorada.
Compilando o relatório:
Neste estágio do ciclo de vida, o JRXML que é construído no primeiro estágio é compilado e um objeto binário chamado arquivo Jasper (arquivo com jasper xtn) é gerado.
Esta compilação é feita para obter um melhor desempenho durante a execução. Esses arquivos Jasper gerados devem ser enviados junto com seu aplicativo para executar os relatórios.
Executando o relatório:
Nesta etapa, os dados do aplicativo são coletados e preenchidos no formato de relatório compilado. Existe uma classe chamada net.sf.jasperreports.engine.JasperFillManager que oferece funções para preencher os dados nos relatórios.
A saída será armazenada no arquivo de impressão Jasper (arquivo com jprint xtn) que pode ser usado para imprimir ou exportar o relatório.
Exportando o relatório para o formato desejado:
Nesta última etapa, você precisa exportar o arquivo de impressão Jasper criado anteriormente em qualquer formato usando a classe JasperExportManager. Como o Jasper oferece vários formatos de exportação, podemos usar a mesma entrada para criar várias representações dos dados.
Recursos do Jasper Reports
Agora, abordaremos os recursos do JasperReports neste tutorial passo a passo do JasperReports.
Aqui estão os recursos importantes da ferramenta Jasper Reports:
- Oferece layout de relatório flexível.
- Os desenvolvedores podem fornecer dados de várias maneiras.
- Permite aceitar dados de várias fontes de dados.
- Marcas d'água também podem ser aplicadas.
- Várias fontes de dados podem ser usadas para transferir dados.
- Você pode gerar sub-relatórios
- Pode gerar sub-relatórios.
- Ajuda você a exportar relatórios em vários formatos, como PDF, HTML, RTF, arquivos do Microsoft Excel.
- O mecanismo permite que as definições de relatório incluam gráficos.
Jasper x Pentaho
Agora, aprenderemos sobre a diferença entre Jasper e Pentaho neste tutorial do Jasper Reporting.
Aqui estão as principais diferenças entre Jasper e Pentaho:
Parâmetros | Jaspe | Pentaho |
---|---|---|
Relatórios | Jasper usa um relatório para projetar os relatórios. | Usava o Pentaho Report Designer. |
Suporte a ETL | A Jaspersoft usa a versão do Talend Open Studio para fins de ETL. | Ele usa o Pentaho Data Integrator como uma ferramenta ETL padrão. |
Painel | A funcionalidade do painel está presente apenas no editor Enterprise do Jaspersoft. | A Pentaho oferece uma ampla variedade de recursos em seus painéis. |
Inteligência de negócios móvel | A Jaspersoft também tem um BI móvel melhor. | A Pentaho usada precisa contar com uma ferramenta de terceiros para aprimorar a experiência de BI móvel. |
Documentação | Melhor marketing, sites e documentação. | O suporte à documentação é ruim. |
Melhor recurso | Mais fácil de pesquisar e encontrar o que você precisa. | Oferece mineração de dados e integração com iPhone |
Versão paga | A versão paga oferece recursos como web Ul de consulta ad hoc, Ul web de criação de painel. | Oferece recursos como integração LDAP, SSO, auditoria etc. |
Criando um exemplo de modelo de relatório
Agora, neste tutorial do JasperReports, vamos aprender como criar um modelo de relatório no JasperReports.
O arquivo de modelo de relatório usado no JasperReports é um arquivo XML simples com extensão jrxml. Este arquivo contém a tag como seu elemento raiz. A estrutura JasperReports pode lidar com diferentes tipos de fontes de dados.
O modelo de relatório é projetado e criado usando as duas etapas a seguir –
Etapa 1) Criando o arquivo JRXML no Jaspersoft Studio.
- Vá para a opção de arquivo.
- Selecione o novo submenu
- Clique na opção Relatório Jasper.
Etapa 2) Selecionando o modelo desejado.
- Selecione seu modelo, por exemplo, cereja.
- Clique no botão "Avançar".
Etapa 3) Selecionando uma pasta pai.
- Selecione a pasta Meus relatórios.
- Digite o nome do arquivo, por exemplo, "Cherry Report".
- Clique no botão "Avançar".
Etapa 4) Na janela Fonte de dados, clique no botão “Novo” para criar um novo adaptador de dados.
Etapa 5) Selecionando um adaptador de dados.
- Selecione o adaptador de dados na caixa de listagem. Por exemplo, “Coleção de JavaBeans.”
- Clique no botão "Avançar".
Etapa 6) Inserindo detalhes do adaptador de dados e selecionando a classe de fábrica.
- Digite um nome para seu adaptador.
- Selecione a classe de fábrica clicando no botão “…”.
Etapa 7) Inserindo prefixo ou padrão.
- Digite o prefixo ou padrão do nome.
- Clique nos itens correspondentes.
- Clique no botão "OK".
Etapa 8) Definindo a classe de fábrica e adicionando o caminho aos arquivos jar.
- Digite o nome de um método estático na classe de fábrica. Neste exemplo de relatórios do Jasper, é createBeanCollection.
- Se sua definição JavaBeans tiver descrições de campo e você quiser usá-las como nomes no Jaspersoft Studio, marque a caixa de seleção usar descrição de campo.
- Adicione um caminho para seus arquivos jar.
- Clique no botão "Concluir".
Etapa 9) Clique no botão “Próximo”.
Etapa 10) Parabéns! Você adicionou todas as informações de criação de relatório necessárias com sucesso. Clique no botão “Concluir”.
O relatório será gerado conforme mostrado na tela abaixo.
O arquivo acima precisa ser compilado no formato JasperReport Binary, que é chamado de arquivo jasper.
A Interface net.sf.jasperreports.engine.design.JRCompiler, que faz parte da biblioteca JasperReports, desempenha um papel importante na compilação deste arquivo de modelo de relatório.
A implementação dessa interface pode ser escrita em Java, JavaScript, Groovy ou qualquer outra linguagem de script.
Você pode compilar um arquivo JRXML nos dois métodos a seguir:
- Compilação programática.
- Compilação usando tarefa Apache ANT.
Entendendo as diferentes faixas de relatório
A seguir está o formato de relatório padrão adotado pela maioria das ferramentas de geração de relatórios comerciais.
- Título
- Cabeçalho da página
- Cabeçalho da coluna
- Detalhe
- Rodapé da coluna
- Rodapé da página
- Resumo
Vamos aprender cada banda de relatório em detalhes:
Título:
Esta banda é mostrada no início do relatório. Ele pode ser usado como a primeira página definindo o atributo
isTitleNewPage="true."
Cabeçalho da página:
Faixa de relatório do cabeçalho da página mostrada no início de cada página. Exclui a primeira página se a faixa de título for usada e a última página se essa faixa de resumo for usada com a configuração
isSummaryWithPageHeaderAndFooter="false.".
Cabeçalho da coluna:
Os cabeçalhos das colunas aparecem antes da faixa de detalhes em cada página.
Detalhe:
Seção de detalhes iterada para cada registro na fonte de dados fornecida. Também permitia ter várias bandas de detalhes (1, 2, etc.)
Rodapé da coluna:
Esta seção aparece abaixo da faixa de detalhes em cada página onde a faixa de detalhes está presente. A configuração padrão é o final da página, mas isso pode ser alterado para a última faixa de detalhes definindo o atributo
isFloatColumnFooter=" true."
Rodapé da página:
Esta seção será exibida no final de cada página, excluindo a faixa de resumo, faixa de título, a última faixa não-resumo.
Rodapé da última página:
Esta seção aparece na página anterior (se não for fornecida uma faixa de resumo) no lugar do rodapé da página normal.
Resumo:
A seção de resumo só aparece no final do relatório em uma nova página. quando
isSummaryNewPage="true"
está definido e com o cabeçalho e rodapé da página está definido isSummaryWithPageHeaderAndFooter="true".
Cabeçalho do Grupo:
Esta seção só aparece quando é definida toda vez que a expressão do grupo muda antes da faixa de detalhes.
Rodapé do Grupo:
Esta seção é exibida apenas se um grupo for definido todas as vezes antes da alteração da expressão do grupo após a faixa de detalhes.
Antecedentes:
Ele é exibido em todas as páginas como plano de fundo para todas as outras faixas de relatórios.
Sem dados:
Esta banda aparecerá quando nenhuma fonte de dados for passada, ou a fonte de dados estiver vazia e quando NoDataType=”NoDataSection” estiver definido.
Desafios enfrentados ao criar JasperReports
Aqui estão alguns desafios que você enfrentará ao criar Jasper Reports:
- Mudanças principais – As mudanças ou melhorias nos negócios. É necessário alterar a lógica central do relatório.
- Relatórios complicados – sub-relatórios e relatórios de guias cruzadas são bons exemplos.
- Relatórios de gráficos ou gráficos visuais, por exemplo, gráficos de gráfico, linha XY, pizza, barra, série temporal e medidor.
Desvantagens do uso do Jasper Reports
Aqui estão as desvantagens/contras do uso do Jasper Reports.
- Depois de começar a fazer alterações em partes do pacote e remover recursos, é muito difícil voltar à configuração padrão do pacote.
- É muito rígido, editar linhas e criar cross tabs é uma tarefa desafiadora.
- Algumas tarefas comuns, como especificar subtotais para um relatório agrupado, são mais fáceis nos outros dois designers de relatório.
- O Jasper exige que você compile os relatórios antes de executá-los. Isso significa que os desenvolvedores de relatórios devem ter todo o Java SDK instalado.
- Às vezes, quando você edita o relatório, ele não mostra a mesma visualização exibida na Web.
Resumo:
- JasperReports é um mecanismo de relatório Java de código aberto. Esta biblioteca de classes Java oferece recursos de relatórios para seu aplicativo.
- O Jasper Reports oferece desempenho de geração de relatórios e entrega aos usuários.
- O ciclo de vida do Jasper Reports inclui 1) criação de relatórios, 2) compilação de relatórios, 3) execução do relatório e 4) exportação do relatório para o formato desejado.
- No Jasper Reports, você pode criar várias fontes de dados para transferir dados.
- A principal diferença entre o Jasper e o Pentaho é que o Jasper reports usa um relatório para projetar os relatórios, enquanto o Pentaho usa o Pentaho Report Designer.
- O arquivo de modelo de relatório usado no JasperReports é um arquivo XML simples com extensão jrxml.
- As faixas de relatórios importantes são:1)Título 2) Cabeçalho da página 3) Cabeçalho da coluna 4) Detalhe 5) Rodapé da coluna 6) Rodapé da página e 7) Resumo.
- O maior desafio de usar o Jasper Reports é que você precisa alterar a lógica principal do relatório se a lógica de negócios mudar.
- A maior desvantagem do Jasper Reports é que, quando você faz qualquer alteração em partes do pacote, é difícil voltar à configuração padrão do pacote.
Java
- Para que serve o Hafnium?
- Java para loop
- Tutorial de classe abstrata C# com exemplo:O que é abstração?
- O que é Java? Definição, significado e recursos das plataformas Java
- JVM | O que é Java Virtual Machine e sua arquitetura
- O que é abstração em OOPs? Classe e método abstrato de Java
- Encapsulamento em Java OOPs com Exemplo
- O que é classe e objeto em Java OOPS? Aprenda com o Exemplo
- Método Java String charAt() com exemplo
- Java String EndsWith() Método com Exemplo