1 / 35

Relatórios

Marco Antonio Software Architect Agosto - 2008. Relatórios. 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

raziya
Download Presentation

Relatórios

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Marco Antonio Software Architect Agosto - 2008 Relatórios

  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-8859-1

  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 Abre o arquivo do relatório. Cria o arquivo de saída, no exemplo, um pdf. Fonte de dados, fornecida pelo DAO através de uma coleção de objetos. Mapa com parâmetros do relatório. Monta o relatório com dados do DAO, e grava no arquivo de saída.

  31. 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 {

  32. 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(); } } }

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

  34. VisualizadorRelatorioDeEmpresas.jsp <%@page import="com.sistemabancario.entidades.GeradorDeRelatorio;"%> <% 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(); } %>

More Related