Gerando Relatórios simples Com DataExporter Primefaces
Estrutura do projeto
Depois de pronto o projeto fica com essa estrutura:
O primeiro componente que veremos hoje é o dataExporter que serve para exportar os dados para arquivos PDF, XLS, XML ou CSV de uma determinada dataTable, então para isso eu preciso de uma dataTable:
Código-fonte:
Para este exemplo vamos precisar de uma classe Carro (pojo), então dentro de pacote de códigos fonte crie um novo pacote com o nome de model, e dentro dele crie uma nova classe Java com o nome de Carro:
01 | public class Carro { |
02 |
03 | private String marca; |
04 | private int ano; |
05 | private String placa; |
06 | private String cor; |
07 | private String modelo; |
08 |
09 | public Carro(String marca, int ano, String placa, String cor, String modelo) { |
10 | this .marca = marca; |
11 | this .ano = ano; |
12 | this .placa = placa; |
13 | this .cor = cor; |
14 | this .modelo = modelo; |
15 | } |
16 |
17 | //GETTERS e SETTERS |
18 | } |
Agora vamos criar o nosso bean que vai dar suporte à nossa dataTable, para isso crie um pacote com o nome de controle, dentro desse pacote crie uma nova classe Java com o nome de CarroBean:
01 | @Named |
02 | @RequestScoped |
03 | public class CarroBean { |
04 |
05 | private List<Carro> carros; |
06 |
07 | public CarroBean() { |
08 | listarCarros(); |
09 | } |
10 |
11 | private void listarCarros() { |
12 | carros = new ArrayList<Carro>(); |
13 | carros.add( new Carro( "Fiat" , 2011 , "DFV 3455" , "Verde" , "Novo Uno" )); |
14 | carros.add( new Carro( "Toyota" , 2009 , "ADV 3245" , "Prata" , "Prado" )); |
15 | carros.add( new Carro( "Volks" , 2010 , "AAC 2351" , "Vermelho" , "Gol" )); |
16 | carros.add( new Carro( "Volks" , 2011 , "EGF 1245" , "Preto" , "Cross Fox" )); |
17 | } |
18 |
19 | //Gerar GET e SET |
20 | } |
01 | < h:form > |
02 | < p:dataTable id = "tabelaCarros" value = "#{carroBean.carros}" var = "c" > |
03 | < p:column > |
04 | < f:facet name = "header" >Marca</ f:facet > |
05 | < h:outputText value = "#{c.marca}" /> |
06 | </ p:column > |
07 | < p:column > |
08 | < f:facet name = "header" >Modelo</ f:facet > |
09 | < h:outputText value = "#{c.modelo}" /> |
10 | </ p:column > |
11 | < p:column > |
12 | < f:facet name = "header" >Ano</ f:facet > |
13 | < h:outputText value = "#{c.ano}" /> |
14 | </ p:column > |
15 | < p:column > |
16 | < f:facet name = "header" >Cor</ f:facet > |
17 | < h:outputText value = "#{c.cor}" /> |
18 | </ p:column > |
19 | < p:column > |
20 | < f:facet name = "header" >Placa</ f:facet > |
21 | < h:outputText value = "#{c.placa}" /> |
22 | </ p:column > |
23 | </ p:dataTable > |
24 |
25 | < h:commandLink > |
26 | < p:graphicImage value = "/imagens/xls.png" /> |
27 | < p:dataExporter type = "xls" target = "tabelaCarros" fileName = "carros" /> |
28 | </ h:commandLink > |
29 | < h:commandLink > |
30 | < p:graphicImage value = "/imagens/pdf.png" /> |
31 | < p:dataExporter type = "pdf" target = "tabelaCarros" fileName = "carros" /> |
32 | </ h:commandLink > |
33 | </ h:form > |
Comentários
Postar um comentário