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