Tutorial do JasperReports: Para que serve o JasperReports? Java?
⚡ Resumo Inteligente
JasperReports para Java O Jaspersoft Studio é um mecanismo de geração de relatórios de código aberto que transforma dados de aplicativos em documentos com qualidade impecável. Este artigo explica o ciclo de vida da geração de relatórios, a instalação do Jaspersoft Studio, a criação de modelos de relatório, a estrutura de bandas, uma comparação com o Pentaho e as limitações práticas que as equipes encontram.

Para que serve o Jasper Reports Java?
Relatórios Jasper é uma ferramenta de relatório de código aberto para Java que é usado para gerar relatórios de aplicativos. Essa ferramenta de geração de relatórios ajuda a escrever conteúdo rico na tela, na impressora ou em diversos arquivos, como HTML, PDF, XLS, RTF, CSV, XML, ODT e TXT. O JasperReports também pode ser usado para Javaaplicativos habilitados como Java EE ou aplicações web para gerar conteúdo dinâmico.
Na maioria das discussões, três nomes de produtos aparecem juntos, e separá-los logo no início evita confusão mais adiante nesta página.
| Nome | O que é | Quem usa isso |
|---|---|---|
| Biblioteca JasperReports | O Java Biblioteca que compila, preenche e exporta relatórios. | Java desenvolvedores incorporando relatórios em um aplicativo |
| Estúdio Jaspersoft | O Eclipse Designer visual que produz arquivos JRXML | Designers de relatórios criam layouts |
| Servidor JasperReports | Um servidor independente que armazena, agenda e entrega relatórios. | Equipes distribuindo relatórios para usuários de negócios |
Esta página se concentra na biblioteca e no Jaspersoft Studio, pois esses dois componentes são tudo o que é necessário para criar e executar um primeiro relatório. Observe que a edição comunitária agora cobre apenas esses dois componentes, já que o JasperReports Server não é mais oferecido como download para a comunidade.
Por que usar relatórios Jasper?
Aqui estão vários 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 independente e integrado para compilação e execução de relatórios.
- Ele permite o controle de acesso baseado em função a todos os relatórios no repositório.
- O framework Spring Security está disponível para integração com sistemas de autenticação internos.
- Oferece um mecanismo de geração de relatórios interativos seguro, programável e com entrega automática.
- Você pode incorporar relatórios em Java ou nãoJava aplicações.
- Vários formatos de relatórios podem ser exportados.
- Ele pode gerar marcas d’água que são colocadas sobre a imagem primária.
- Oferece um conjunto completo de SABÃO, REST e serviços da Web.
- Ele permite que você use dados de relatório único de diversas fontes de dados.
Como a biblioteca é distribuída sob a licença LGPL, ela pode ser incluída em produtos comerciais sem custo por usuário, o que explica sua popularidade. Java As equipes o preferem em vez de mecanismos de geração de relatórios proprietários.
Recursos dos relatórios Jasper
Agora, vamos abordar os recursos do JasperReports.
Aqui estão as principais funcionalidades da ferramenta Jasper Reports:
- Oferece layout de relatório flexível em faixas, colunas e regiões de formato livre.
- Os desenvolvedores podem fornecer dados de várias maneiras, incluindo JavaColeções de beans, consultas SQL e documentos XML.
- É possível combinar diversas fontes de dados em um único relatório por meio de sub-relatórios e adaptadores de dados.
- As marcas d'água também podem ser aplicadas sobre a imagem principal.
- Você pode gerar sub-relatórios aninhados dentro de um layout principal.
- Ajuda você a exportar relatórios em vários formatos, como PDF, HTML, RTF e Microsoft arquivos Excel.
- O mecanismo permite que as definições de relatório incluam gráficos como barras, pizza, linhas e séries temporais.
- As expressões de relatório podem ser escritas em Java, Groovy, ou JavaRoteiro.
Essas funcionalidades são expostas por meio de uma sequência de processamento fixa, que a próxima seção descreve etapa por etapa.
Ciclo de vida do JasperReports
Agora vamos aprender sobre o ciclo de vida do JasperReports.
A seguir, apresentamos o fluxo geral do ciclo de vida dos relatórios Jasper:
O diagrama acima mostra as quatro etapas em ordem. Cada etapa produz um arquivo que se torna a entrada da próxima etapa, razão pela qual a sequência nunca pode ser invertida.
| Etapa | Entrada | saída | Extensão de arquivo |
|---|---|---|---|
| Desenho | Decisões de layout | Modelo de relatório | .jrxml |
| Compilando | Arquivo .jrxml | Modelo binário compilado | .jaspe |
| Executando | Arquivo .jasper mais dados | Relatório preenchido | .jrprint |
| Exportando | Arquivo .jrprint | Documento final | .pdf, .html, .xls e outros |
Elaboração do relatório
Este será o primeiro passo, onde criaremos o arquivo JRXML. Trata-se de um documento XML simples que define o layout do relatório. Você pode desenvolver este arquivo usando qualquer editor de texto ou um 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 pode ser ignorada.
Compilando o relatório
Nesta etapa do ciclo de vida, o JRXML, que é construído na primeira etapa, é compilado e um objeto binário chamado arquivo Jasper (arquivo com extensão .jasper) é gerado.
Esta compilação é feita para obter 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 da aplicação 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.
O resultado será armazenado em um arquivo de impressão Jasper (arquivo com extensão jrprint) que pode ser usado para imprimir ou exportar o relatório.
Exportar o relatório para o formato desejado.
Nesta última etapa, você precisa exportar o arquivo de impressão Jasper criado anteriormente para 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.
Como instalar o Jasper Reports – Configuração do ambiente
Agora, vamos aprender o processo passo a passo para configurar o ambiente JasperReports. As capturas de tela abaixo foram feitas com o instalador da versão 6.9. A versão atual da comunidade é a 6.21.3, publicada em 23 de abril de 2024, e a sequência de telas permanece inalterada, embora o número da versão no nome do arquivo seja diferente.
Passo 1) Baixe a edição da comunidade do Jasper Reports
Vá para isto de vidrio e clique na opção "Baixar agora" para instalar a edição comunitária do Jasper Reports.
Passo 2) Selecione Jaspersoft Studio CE
Na seção de edições comunitárias, selecione Jaspersoft Studio CE.
Passo 3) Baixar Jaspersoft Studio
Vá para isto link Clique no botão "Download" e, em seguida, abra o arquivo executável do instalador baixado para o seu sistema operacional.
Passo 4) Clique no botão "Concordo".
A seguinte tela será exibida. Selecione o botão "Concordo".
Passo 5) Escolha a localização
Selecione o local de instalação e clique no botão Avançar.
Passo 6) O progresso está acontecendo agora
Você verá o progresso na próxima tela.
Passo 7) Clique no botão finalizar
Na próxima tela, clique no botão finalizar.
Passo 8) O progresso está completo
A seguinte tela aparecerá na sua janela.
Passo 9) Comece Agora
Em seguida, clique na opção "Começar".
Passo 10) Comece a trabalhar com o estúdio Jasper Reports
A seguinte tela será exibida e você poderá começar a trabalhar com o Jasper Reports Studio.
💡 Dica: O Jaspersoft Studio é um Eclipse aplicação baseada em compatibilidade e precisa de um aplicativo compatível. Java Verifique o ambiente de execução presente na máquina. Se o instalador se recusar a iniciar, confirme a versão do JDK instalada antes de reinstalar.
Exemplo de criação de modelo de relatório
Agora 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 a extensão .jrxml. Este arquivo contém a tag jasperReport como elemento raiz. O framework JasperReports é capaz de lidar com diferentes tipos de fontes de dados.
Um modelo de relatório é projetado e criado seguindo os passos descritos abaixo.
Passo 1) Criando o arquivo JRXML no Jaspersoft Studio.
- Acesse a opção Arquivo.
- Selecione o submenu Novo.
- Clique na opção Relatório Jasper.
Passo 2) Selecionando o modelo desejado.
- Selecione seu modelo, por exemplo, cereja.
- Clique no botão "Next".
Passo 3) Selecionando uma pasta pai.
- Selecione a pasta Meus Relatórios.
- Insira o nome do arquivo, por exemplo, “Relatório Cherry”.
- Clique no botão "Next".
Passo 4) Na janela Fonte de Dados, clique no botão “Novo” para criar um novo adaptador de dados.
Passo 5) Selecionando um adaptador de dados.
- Selecione o adaptador de dados na lista suspensa. Por exemplo, “Coleção de JavaFeijões."
- Clique no botão "Next".
Passo 6) Inserir detalhes do adaptador de dados e selecionar a classe de fábrica.
- Insira um nome para o seu adaptador.
- Selecione a classe da fábrica clicando no botão “…”.
Passo 7) Inserindo o prefixo ou padrão.
- Insira o prefixo ou padrão do nome.
- Clique nos itens correspondentes.
- Clique no botão “OK”.
Passo 8) Definindo a classe de fábrica e adicionando o caminho para os arquivos jar.
- Insira o nome de um método estático na classe de fábrica. Neste exemplo de relatórios Jasper, é createBeanCollection.
- Se seu JavaA definição do Bean possui descrições de campos e, se você deseja usá-las como nomes no Jaspersoft Studio, marque a caixa de seleção "Usar descrição do campo".
- Adicione um caminho para seus arquivos jar.
- Clique no botão “Concluir”.
Passo 9) Clique no botão "Next".
Passo 10) Parabéns! Você adicionou com sucesso todas as informações necessárias para a criação do relatório. Clique no botão "Concluir".
O relatório será gerado conforme mostrado na tela abaixo.
O arquivo acima requer compilação para o formato binário do JasperReport, chamado 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 desta interface pode ser escrita em Java, JavaScript, Groovyou qualquer outra linguagem de script.
Você pode compilar um arquivo JRXML usando os dois métodos a seguir:
- Compilação programática de Java código.
- Compilação usando um Formiga Apache tarefa.
O trecho de código abaixo mostra a rota programática, onde uma linha compila o modelo e uma segunda linha o preenche com um JavaColeção de feijões.
import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class ReportRunner { public static void main(String[] args) throws JRException { // 1. Compile the JRXML template into a .jasper file JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml"); // 2. Fill the compiled template with a collection of beans JRBeanCollectionDataSource source = new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection()); JasperPrint print = JasperFillManager.fillReport(report, null, source); // 3. Export the filled report to PDF JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf"); System.out.println("Report exported successfully"); } }
Saída:
Report exported successfully
Entendendo as diferentes faixas de relatório
Um layout do JasperReports é dividido em seções horizontais chamadas bandas. Cada banda possui uma regra de impressão fixa, e a compreensão dessas regras é o que permite ao designer controlar exatamente onde um valor aparece no documento final.
A seguir, apresentamos as faixas de relatório padrão adotadas pela maioria das ferramentas comerciais de geração de relatórios.
- Título
- Cabeçalho da página
- Cabeçalho da coluna
- Detalhe
- Rodapé da coluna
- Rodapé da página
- Rodapé da última página
- Resumo
- Cabeçalho do grupo
- Rodapé do grupo
- Contexto
- Não existem dados
Vamos aprender cada banda de reporte em detalhes.
Título
Esta faixa é exibida no início do relatório. Ela pode ser colocada em sua própria página inicial definindo o atributo. isTitleNewPage="true".
Cabeçalho da página
A faixa de cabeçalho da página é exibida no início de cada página. Ela não aparece na primeira página se a faixa de título for usada, e não aparece na última página se a faixa de resumo for usada com a configuração definida. isSummaryWithPageHeaderAndFooter="false".
Cabeçalho da coluna
Os cabeçalhos das colunas aparecem antes da faixa de detalhes em cada página.
Detalhe
A seção de detalhes é iterada para cada registro na fonte de dados fornecida. Também é permitido ter várias faixas de detalhes (1, 2 e assim por diante).
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 é no final da página, mas isso pode ser alterado para ficar abaixo da última faixa de detalhes definindo o atributo. isFloatColumnFooter="true".
Rodapé da Página
Esta seção será exibida no final de cada página, exceto na faixa de resumo, na faixa de título e na última faixa que não seja de resumo.
Rodapé da última página
Esta seção aparece na última página, no lugar do rodapé normal, quando não há uma faixa de resumo.
Resumo
A seção de resumo só aparece no final do relatório, em uma nova página. isSummaryNewPage="true" está definido, e com cabeçalho e rodapé da página quando isSummaryWithPageHeaderAndFooter="true" é definido.
Cabeçalho do grupo
Esta seção só aparece quando definida, sempre que a expressão do grupo muda, antes da faixa de detalhes.
Rodapé do grupo
Esta seção só é exibida se um grupo estiver definido, sempre que a expressão do grupo for alterada, após a faixa de detalhes.
Contexto
É exibido em todas as páginas como plano de fundo para todas as outras faixas de relatório.
Sem dados
Essa faixa aparecerá quando nenhuma fonte de dados for passada ou quando a fonte de dados estiver vazia. whenNoDataType="NoDataSection" é definido.
Jasper x Pentaho
Agora vamos aprender sobre a diferença entre Jasper e Pentaho.
Aqui estão as principais diferenças entre Jasper e Pentaho:
| Parâmetros Técnicos | Jasper | Pentaho |
|---|---|---|
| Relatórios | Jasper utiliza o Jaspersoft Studio para criar os relatórios. | Ele utiliza o Pentaho Report Designer. |
| Suporte ETL | A Jaspersoft utiliza a versão Talend Open Studio para fins de ETL. | Ele usa Pentaho Data Integrator como padrão Ferramenta ETL. |
| Painel de controle | A funcionalidade de painel de controle está presente apenas na edição Enterprise do Jaspersoft. | A Pentaho oferece uma ampla gama de recursos em seus painéis de controle. |
| Inteligência Comercial Móvel | O Jaspersoft oferece melhor suporte para BI em dispositivos móveis. | A Pentaho precisa recorrer a uma ferramenta de terceiros para aprimorar a experiência de BI móvel. |
| Documentação | Melhor marketing, sites e documentação. | O suporte da documentação é fraco. |
| Melhor recurso | Mais fácil de pesquisar e encontrar o que você precisa. | Oferece mineração de dados e integração com o iPhone. |
| Versão paga | A versão paga oferece recursos como consulta ad hoc Criação de interface web e painel de controle. | Oferece funcionalidades como integração LDAP, SSO e auditoria. |
Equipes que já investiram no Java Equipes que precisam de integração de dados robusta e geração de relatórios geralmente optam por outras soluções. Pentaho.
Desafios enfrentados durante a criação do JasperReports
Aqui estão alguns desafios que você enfrentará ao criar relatórios Jasper:
- Alterações essenciais – quando as regras de negócio mudam ou são aprimoradas, é necessário alterar a lógica central do relatório.
- Relatórios complexos – sub-relatórios e relatórios de tabela cruzada são bons exemplos.
- Relatórios gráficos ou gráficos visuais, por exemplo, gráficos de barras, linhas XY, pizza, barras, séries temporais e gráficos de medidores.
Desvantagens de usar relatórios Jasper
Aqui estão as desvantagens de usar o Jasper Reports.
- Depois de começar a fazer alterações em partes do pacote e remover funcionalidades, é muito difícil voltar à configuração padrão do pacote.
- É demasiado rígido, e a edição de linhas e a criação de tabelas cruzadas são tarefas complexas.
- Algumas tarefas comuns, como especificar subtotais para um relatório agrupado, são mais fáceis em outros editores de relatório.
- Jasper exige que você compile 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.






















