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.

Construa e plublique APIs com Spring Boot
RESTful Spring Boot
No curso você será capaz de criar APIs RESTful com elementos altamente escaláveis e publicar em cloud.
593 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 147
12x de R$ 14,32
O curso API RESTful com Spring Boot e Java 8 – Guia de Referência, é um curso que visa apresentar os principais componentes de uma API RESTful eficiente e escalável no formato de problemas e soluções.
Mais de 200 aulas curso completo em JSF 2.2
JSF 2.2 e PrimeFaces
Curso completo em JSF 2.2 com PrimeFaces, Spring, Hibernate, JPA, Ireport e CDI. Iremos do básico ao avançado em JSF.
2.985 alunosHoras do curso 100h Horas do curso certificado
Promoção R$ 189
12x de R$ 18,41
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.

 

 

 


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 *

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

Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. 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.