A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Relatórios Marco Antonio Software Architect Agosto - 2008.

Apresentações semelhantes


Apresentação em tema: "Relatórios Marco Antonio Software Architect Agosto - 2008."— Transcrição da apresentação:

1 Relatórios Marco Antonio Software Architect Agosto

2 Introdução JasperReport –Framework java para relatórios com grande habilidade na organização e apresentação de conteúdo, permitindo a geração dinâmica de relatórios em diversos formatos (pdf, html, xls, csv e xml). iReport –Interface gráfica para o Jasper.

3 Tela inicial

4 Criando um novo relatório Menu Arquivo -> Novo... Ou Ctrl + N

5 Propriedades do relatório Configuração dos dados do relatório

6 Codificação Altere para ISO

7 Design do relatório Observe as barras de ferramenta disponíveis

8 Classpath Nosso relatório deve ter acesso à classe EmpresaAerea. Esse tipo de acesso é configurado através do classpath.

9 Diretório de classes Procure o diretório build/classes dentro de sua aplicação. É onde ficam as classes compiladas.

10 Campos do relatório Acesse o menu -> Data -> Query do Relatório.

11 Campos do relatório Clique no botão Ler Atributos.

12 Campos do relatório Esses serão os campos disponíveis para visualização no relatório

13 Estrutura do documento Navegue pela estrutura do documento e veja quais os dados disponíveis para o relatório.

14 Design do relatório Acrescente um texto estático com o título do relatório, bem como os nomes das colunas. Arraste os campos referentes a nomeFantasia e razaoSocial para o relatório.

15 Design do relatório

16 Propriedades do campo texto Selecione as propriedade do título do relatório com o botão direito e altere os dados da fonte.

17 Salve o arquivo Crie o diretório relatorios dentro de WEB-INF.

18 Opções No menu Opções -> Opções altere a opção conforme a figura.

19 Compilação do relatório Veja na barra de ferramentas o ícone de compilação. A partir desse momento o diretório está pronto para ser acessado pela aplicação.

20 Outros campos Crie mais um campo texto para a data. Com o botão direito escolha Edit Expression.

21 Expressões Com o editor de expressões podemos escrever código java nativo, utilizando qualquer classe disponível.

22 Campos do relatório

23 Campos Colunas do banco de dados disponíveis para o relatório.

24 Variáveis pré-definidas Principais contadores disponíveis.

25 Parâmetros Existe a possibilidade de enviar dados isolados da aplicação para o relatório através de parâmetros.

26 Novo parâmetro Para exemplificar, vamos criar o parâmetro NomeDoSistema.

27 Design final do relatório

28 Libs do projeto Commons-javaflow iReport iText Jasperreports Jcommon Jfreechart

29 Teste do relatório package net.sca.entidades.teste; import java.io.*; import java.util.*; import net.sca.persistencia.*; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.*; public class TesteRelatorioEmpresa { public static void main(String[] args) { try { (1) FileInputStream input = new FileInputStream( "C:/Sistemas/workspace_javaweb/SistemaDeControleAereo/WebContent/WEB-INF/relatorios/RelatorioDeEmpresas.jasper"); (2) FileOutputStream saida = new FileOutputStream("c:/RelatorioDeEmpresas.pdf"); (3) JRDataSource dados = new JRBeanCollectionDataSource(new DAOEmpresaAerea().consultarTodos()); (4) Map mapaDeParametros = new HashMap(); mapaDeParametros.put("NomeDoSistema", "Sistema de Controle Aéreo"); (5) JasperRunManager.runReportToPdfStream(input, saida, mapaDeParametros, dados); System.out.println("Relatório gravado com sucesso"); } catch (Exception e) { e.printStackTrace(); }

30 Detalhamento 1.Abre o arquivo do relatório. 2.Cria o arquivo de saída, no exemplo, um pdf. 3.Fonte de dados, fornecida pelo DAO através de uma coleção de objetos. 4.Mapa com parâmetros do relatório. 5.Monta o relatório com dados do DAO, e grava no arquivo de saída.

31

32 GeradorDeRelatorio package com.sistemabancario.entidades; import java.io.*; import java.util.*; import javax.faces.context.*; import javax.servlet.*; import net.sca.persistencia.*; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.*; public class GeradorDeRelatorio { public void executaRelatorio(String nomeDoRelatorio, OutputStream saida) { try {

33 GeradorDeRelatorio (1) ExternalContext e = FacesContext.getCurrentInstance().getExternalContext(); ServletContext s = (ServletContext) e.getContext(); String diretorioDosRelatorios = s.getRealPath("/WEB-INF/relatorios"); (2) InputStream entrada = new FileInputStream(diretorioDosRelatorios + "/" + nomeDoRelatorio); (3) Map mapaDeParametros = new HashMap(); mapaDeParametros.put("NomeDoSistema", "Sistema de Controle Aéreo"); (4) JRDataSource dados = new JRBeanCollectionDataSource(new DAOEmpresaAerea().consultarTodos()); (5) JasperRunManager.runReportToPdfStream(entrada, saida, mapaDeParametros, dados); } catch (Exception e) { e.printStackTrace(); }

34 Detalhamento 1.Recupera dados do contexto da aplicação, no caso, o diretório. 2.Abre o arquivo do relatorio (RelatorioDeEmpresas.jasper) que está no diretório WEB-INF. 3.Mapa com parâmetros a serem passados aos relatório. 4.Fonte de dados, coleção de objetos que serão exibidos no relatório. 5.Mostra o relatório no browser do cliente.

35 VisualizadorRelatorioDeEmpresas.jsp <% try { out.clear(); GeradorDeRelatorio gerador = new GeradorDeRelatorio(); ServletOutputStream output = response.getOutputStream(); response.setContentType("application/pdf"); response.addHeader("Content-Disposition", "Inline;"); gerador.executaRelatorio("RelatorioDeEmpresas.jasper", output); output.flush(); output.close(); } catch (Exception e) { e.printStackTrace(); } %>


Carregar ppt "Relatórios Marco Antonio Software Architect Agosto - 2008."

Apresentações semelhantes


Anúncios Google