Parâmetro no iReport

Parâmetro no iReport. Muitas vezes necessitamos passar parâmetros para o Ireport para que o SQL dentro do relatório filtre os dados e traga de acordo com o filtro/parâmetro que necessitamos. A minha preferência quando crio relatórios é já passar os dados todos prontos, mas existe a opção de ter o SQL dentro do próprio relatório e assim precisamos passar e trabalhar com parâmetros.

No vídeo de hoje vou mostra pra você como realizar essa programação e também disponibilizo o código fonte pra você.

 

 

A importância do relatórios

O dia a dia das empresas é repleto de números por todos os lados. O que foi comprado, as vendas, os pagamentos, enfim, são muitos números que vistos isoladamente talvez não nos digam muita coisa, mas se associados a outros números e organizados em relatórios podem ser essenciais para conhecer melhor a empresa e planejar os próximos passos.

Parâmetro no iReport – Classe Service em Java

Abaixo está o código completo do service que recebe os dados e gera o relatório.

package service;

import java.io.File;
import java.io.Serializable;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.util.JRLoader;
import connection.ConnectionDataBase;

public class RelatorioService implements Serializable {

	private static final long serialVersionUID = 1L;

	private static final String FOLDER_RELATORIOS = "/relatorios";
	private String caminhoArquivoRelatorio = null;
	private JRExporter exporter = null;
	private File arquivoGerado = null;

	public String gerarRelatorio(HashMap parametrosRelatorio,
			String nomeRelatorioJasper, String tipoExportar) throws Exception {

		String caminhoRelatorio = this.getClass()
				.getResource(FOLDER_RELATORIOS).getPath();

		/* caminho completo até o relatório compilado indicado */
		String caminhoArquivosJasper = caminhoRelatorio + File.separator
				+ nomeRelatorioJasper + ".jasper";

		/* Faz o carregamento do relatório */
		JasperReport relatorioJasper = (JasperReport) JRLoader
				.loadObjectFromFile(caminhoArquivosJasper);

		/* Carrega o arquivo */
		JasperPrint impressoraJasper = JasperFillManager.fillReport(
				relatorioJasper, parametrosRelatorio, ConnectionDataBase.getConnection());

		if (tipoExportar.equalsIgnoreCase("pdf")) {
			exporter = new JRPdfExporter();
		} else if (tipoExportar.equalsIgnoreCase("xls")) {
			exporter = new JRXlsExporter();
		}

		/* Caminho relatorio exportado */
		caminhoArquivoRelatorio = caminhoRelatorio + File.separator
				+ nomeRelatorioJasper + "." + tipoExportar;

		/* Criar novo arquivos exportado */

		arquivoGerado = new File(caminhoArquivoRelatorio);

		/* Prepara a impressão */
		exporter.setParameter(JRExporterParameter.JASPER_PRINT,
				impressoraJasper);

		exporter.setParameter(JRExporterParameter.OUTPUT_FILE, arquivoGerado);

		/* Excuta a exportação */
		exporter.exportReport();

		return caminhoArquivoRelatorio;

	}

}

Executando o relatório e exibindo ao usuário

//Lista com os parametros para o relátorio
					HashMap params = new HashMap<>();
					
					//Passândo parâmetros e convertendo o dados pra ser compativel
					params.put("datanasci", 
							new SimpleDateFormat("yyyy-MM-dd").
							parse(jTextFieldData.getText()));

					//Invocando a geração do relatório 
					String file = new RelatorioService().gerarRelatorio(params,
							"cliente-data-parametro", "pdf");
					
					//Exibindo o relatório na tela para o usuário
					Desktop.getDesktop().open(new File(file));

Podemos passar quantos parâmetros quisermos para o iReport, através desse modelo básico você pode seguir e precisando é só criar o relatórios no iReport e adicionar ao código Java no momento da execução do mesmo.

Saber sobre parâmetro no iReport é super importante para que se tenha qualidade nos e dados filtrado no no sistema que está sendo desenvolvido.

O que é o iReport

IReport é uma ferramenta de designer para relatórios, que utiliza a biblioteca Java para relatórios a JasperReports. Com ele é possível fazer layots sofisticados, contendo gráficos, imagens, sub-relatórios, tabelas de referência cruzada e muito mais. Aprenda a criar sistemas web com iReport no meu curso de formação Java Web Completo AQUI.

O que é Jaspersoft Studio

Jaspersoft Studio é o novo gerador de relatório baseado em Eclipse para JasperReports e JasperReports Server. É uma reescrita completa do iReport Designer, disponível como Eclipse plugin, e como um aplicativo independente.

 

Baixe o ebook de API RESTful em Spring Boot

 
Encapsulando o Response da API RESTful
 

Curso que recomendo para você

Selecionamos uma série de cursos on-line para você se preparar e abrir as portas para as vagas de programação. Conheça cada um dos cursos nos links oficiais abaixo.


Formação Java Web Profissional - Cursos em Java
Full-Stack Web Java EE
Mais de 600 aulas em PrimeFaces, JSF, Spring, Hibernate, JPA, Ireport, CDI e muitos mais. Iremos do básico ao avançado.
2.985 alunosHoras do curso - Cursos em Java 150h Horas do curso certificado

600+ aulas. A melhor forma de aprender a desenvolver sistemas em Java é tendo como exemplo um projeto e curso completo onde possa observar o código para melhor entendimento do funcionamento das rotinas a acompanhar as vídeos aulas de desenvolvimento. Esse curso contém tudo que um desenvolvedor precisa saber para entrar no mercado de trabalho.
Desenvolvedor(a) Full-Stack
Full-Stack Web PHP
Domine as principais tecnologias do mercado e se torne Desenvolvedor Full-Stack, com salários na faixa dos R$5.000,00.
1.600 alunosHoras do curso 150h Horas do curso certificado

Adquira hoje o curso e tenha acesso ao mesmo para sempre. Você pode se inscrever hoje e estudar no seu ritmo, pois o curso nunca vai expirar.

 

 

 


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Conheça os curso gratuitos
Grátis

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Depoimento de aluno


 
Alunos Felizes
 
Alunos Felizes
 
Alunos Felizes
 
Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java

Alex Fernando Egidio
Autor, criador e fundador do JDev Treinamento on-line. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.