SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
JETT Exporte Excel do jeito que seu cliente sempre sonhou 
Emmanuel Neri
Emmanuel Neri 
• Análise e Desenvolvimento de Sistema - Unipar 
• Especialista em Engenharia de Software - PUCPR 
• Mestrando em Desenvolvimento de Tecnologias 
• Linha de Pesquisa : Arquitetura de Software 
! 
! 
• Desenvolvedor java desde de 2010 
• Atualmente desenvolvedor Java na TecSinapse 
emmanuelnerisouza@gmail.com 
@emanu_neri 
github/emmanuelneri
• Exportando dados para Excel 
• O que é Jett ? 
• Porque utilizar Jett ? 
• Como utilizar o Jett 
• Utilizando Jett 
• Quando utilizar Jett ? 
• Tags 
• forEach 
• span 
• style 
• formula 
• Outras Tags 
• Customizando Tags 
• Outras funcionalidades
Exportando dados para 
Excel 
Complexo ? Demorado ? 
• POI 
• JETT 
• JExcelApi 
• JXL 
• JXLS 
• JExcel
O que é Jett ? 
• Gerador de Excel a partir de templates 
• Facilidade na exportação 
• Agilidade na exportação 
• Baseado em POI 
• Baseado em Apache Commons JEXL 
• Versão atual 0.8.0 Beta 
• Licença GNU 
• Principal responsável Rangy Gettman 
• http://jett.sourceforge.net/ 
• http://jett.sourceforge.net/apidocs/index.html 
• http://sourceforge.net/p/jett/discussion/general
Porque utilizar Jett ?
Porque utilizar Jett ?
Como utilizar o Jett 
Basicamente 3 passos : 
• Criar arquivo Excel com tags do Jett 
• Criar um map de dados 
• Passar o arquivo e o map para a API do Jett
Utilizando Jett 
Dependências: 
• JEXL 
• org.apache.commons 
• commons-jexl 
! 
• JETT-CORE 
• net.sf.jett 
• jett-core
Utilizando Jett 
Criando template Excel:
Utilizando Jett 
Criando map de valores
Utilizando Jett 
Exportando para Excel
Utilizando Jett 
JEXL Expressions 
• ${valor} 
• ${map[‘nome’]} 
• ${lista(0)} 
• ${lista.size()} 
• ${objeto.nome}
Utilizando Jett 
POI em templates Excel: 
• Cell 
• ${cell.rowIndex} 
• ${cell.columnIndex} 
• Sheet 
• ${sheet.getFooter().setLeft(“by Emmanuel Neri”)} 
• Workbook 
• ${workbook.numberOfSheets}
Quando utilizar Jett ? 
Sempre ? 
Em novas 
exportações ? 
Devo mudar tudo para Jett ?
Tags - forEach
Tags - forEach
Tags - forEach
Tags - style
Tags - span
Tags - formula
Tags - Outras 
• if 
• test / then / else / elseAction 
• null 
• text 
• hyperlink 
• type / address / value 
• multiForEach 
• collections / vars / indexVar / limit
Customizando Tags
Customizando Tags
Customizando Tags
Customizando Tags
Outras funcionalidades 
• Gráficos 
• JDBC 
• Listeners 
• Cell 
• Sheet 
• Tag 
• Tag Loop 
• Register Functions
Dúvidas ?
Obrigado!! 
github/emmanuelneri/soujava-jett 
emmanuelnerisouza@gmail.com

Mais conteúdo relacionado

Mais procurados

Recursos fisioterapeuticos na dermato funcional
Recursos fisioterapeuticos na dermato funcionalRecursos fisioterapeuticos na dermato funcional
Recursos fisioterapeuticos na dermato funcionalNathanael Amparo
 
(Massagem clasica)
(Massagem clasica)(Massagem clasica)
(Massagem clasica)jujulyane
 
Inovação e Estratégia Competitiva via Design Thinking
Inovação e Estratégia Competitiva via Design ThinkingInovação e Estratégia Competitiva via Design Thinking
Inovação e Estratégia Competitiva via Design ThinkingRenata Cristina Viana
 
Scrum and xp from the trenches (1st edition, Chinese)
Scrum and xp from the trenches   (1st edition, Chinese)Scrum and xp from the trenches   (1st edition, Chinese)
Scrum and xp from the trenches (1st edition, Chinese)Jen-Chieh Ko
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
 
Alterações Degenerativas Cerebrais
Alterações Degenerativas CerebraisAlterações Degenerativas Cerebrais
Alterações Degenerativas CerebraisGustavo Andreis
 
Lesão nervosa periferica
Lesão nervosa perifericaLesão nervosa periferica
Lesão nervosa perifericajapaforozero
 
Introducao.dermato funcional
Introducao.dermato funcionalIntroducao.dermato funcional
Introducao.dermato funcionalNathanael Amparo
 
Conseils pratiques pour la rédaction des mémoire
Conseils pratiques pour la rédaction des mémoireConseils pratiques pour la rédaction des mémoire
Conseils pratiques pour la rédaction des mémoireRabah HELAL
 
247024699 depilacao-apostila-de-depilacao-faetec
247024699 depilacao-apostila-de-depilacao-faetec247024699 depilacao-apostila-de-depilacao-faetec
247024699 depilacao-apostila-de-depilacao-faetecMarina Leal
 
OEE Efetividade Global de Equipamentos TCC
OEE Efetividade Global de Equipamentos TCCOEE Efetividade Global de Equipamentos TCC
OEE Efetividade Global de Equipamentos TCCMarcos Valle
 
Design de Serviço, Inovação e UX
Design de Serviço, Inovação e UXDesign de Serviço, Inovação e UX
Design de Serviço, Inovação e UXHeller de Paula
 
Apresentação Gerenciamento Processos de Negócio
Apresentação Gerenciamento Processos de NegócioApresentação Gerenciamento Processos de Negócio
Apresentação Gerenciamento Processos de NegócioIdeia Consultoria
 
2º Congresso de Tricologia do Estado de Goiás
2º Congresso de Tricologia do Estado de Goiás2º Congresso de Tricologia do Estado de Goiás
2º Congresso de Tricologia do Estado de GoiásFrancine Welch
 
Sinais e sintomas em neurologia
Sinais e sintomas em neurologiaSinais e sintomas em neurologia
Sinais e sintomas em neurologiaDr. Rafael Higashi
 

Mais procurados (20)

Recursos fisioterapeuticos na dermato funcional
Recursos fisioterapeuticos na dermato funcionalRecursos fisioterapeuticos na dermato funcional
Recursos fisioterapeuticos na dermato funcional
 
Esclerodermia
Esclerodermia Esclerodermia
Esclerodermia
 
(Massagem clasica)
(Massagem clasica)(Massagem clasica)
(Massagem clasica)
 
Gota
GotaGota
Gota
 
Inovação e Estratégia Competitiva via Design Thinking
Inovação e Estratégia Competitiva via Design ThinkingInovação e Estratégia Competitiva via Design Thinking
Inovação e Estratégia Competitiva via Design Thinking
 
Scrum and xp from the trenches (1st edition, Chinese)
Scrum and xp from the trenches   (1st edition, Chinese)Scrum and xp from the trenches   (1st edition, Chinese)
Scrum and xp from the trenches (1st edition, Chinese)
 
Doenças Coronarianas
Doenças CoronarianasDoenças Coronarianas
Doenças Coronarianas
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
Alterações Degenerativas Cerebrais
Alterações Degenerativas CerebraisAlterações Degenerativas Cerebrais
Alterações Degenerativas Cerebrais
 
Lesão nervosa periferica
Lesão nervosa perifericaLesão nervosa periferica
Lesão nervosa periferica
 
Introducao.dermato funcional
Introducao.dermato funcionalIntroducao.dermato funcional
Introducao.dermato funcional
 
Retenção urinária
Retenção urináriaRetenção urinária
Retenção urinária
 
Conseils pratiques pour la rédaction des mémoire
Conseils pratiques pour la rédaction des mémoireConseils pratiques pour la rédaction des mémoire
Conseils pratiques pour la rédaction des mémoire
 
247024699 depilacao-apostila-de-depilacao-faetec
247024699 depilacao-apostila-de-depilacao-faetec247024699 depilacao-apostila-de-depilacao-faetec
247024699 depilacao-apostila-de-depilacao-faetec
 
OEE Efetividade Global de Equipamentos TCC
OEE Efetividade Global de Equipamentos TCCOEE Efetividade Global de Equipamentos TCC
OEE Efetividade Global de Equipamentos TCC
 
Sistema De Gestao Empresarial Erp
Sistema De Gestao Empresarial ErpSistema De Gestao Empresarial Erp
Sistema De Gestao Empresarial Erp
 
Design de Serviço, Inovação e UX
Design de Serviço, Inovação e UXDesign de Serviço, Inovação e UX
Design de Serviço, Inovação e UX
 
Apresentação Gerenciamento Processos de Negócio
Apresentação Gerenciamento Processos de NegócioApresentação Gerenciamento Processos de Negócio
Apresentação Gerenciamento Processos de Negócio
 
2º Congresso de Tricologia do Estado de Goiás
2º Congresso de Tricologia do Estado de Goiás2º Congresso de Tricologia do Estado de Goiás
2º Congresso de Tricologia do Estado de Goiás
 
Sinais e sintomas em neurologia
Sinais e sintomas em neurologiaSinais e sintomas em neurologia
Sinais e sintomas em neurologia
 

Destaque

Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVCConstruindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVCEmmanuel Neri
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaEmmanuel Neri
 
A Cultura do Home Office
A Cultura do Home OfficeA Cultura do Home Office
A Cultura do Home OfficeEmmanuel Neri
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
 
O Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de softwareO Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de softwareEmmanuel Neri
 
Criando uma arquitetura escalável para processamento de arquivos com micro s...
Criando uma arquitetura escalável para processamento de arquivos com micro s...Criando uma arquitetura escalável para processamento de arquivos com micro s...
Criando uma arquitetura escalável para processamento de arquivos com micro s...Emmanuel Neri
 
A trilogia Spring MVC + Spring Data + AngularJS
A trilogia  Spring MVC + Spring Data + AngularJSA trilogia  Spring MVC + Spring Data + AngularJS
A trilogia Spring MVC + Spring Data + AngularJSEmmanuel Neri
 

Destaque (9)

Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVCConstruindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações Java
 
A Cultura do Home Office
A Cultura do Home OfficeA Cultura do Home Office
A Cultura do Home Office
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
O Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de softwareO Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de software
 
Criando uma arquitetura escalável para processamento de arquivos com micro s...
Criando uma arquitetura escalável para processamento de arquivos com micro s...Criando uma arquitetura escalável para processamento de arquivos com micro s...
Criando uma arquitetura escalável para processamento de arquivos com micro s...
 
A trilogia Spring MVC + Spring Data + AngularJS
A trilogia  Spring MVC + Spring Data + AngularJSA trilogia  Spring MVC + Spring Data + AngularJS
A trilogia Spring MVC + Spring Data + AngularJS
 

Semelhante a Jett: Exporte Excel do jeito que seu cliente sempre sonhou

Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignIuri Andreazza
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0tdc-globalcode
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Caliel Costa
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhosandreandrade17
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0tdc-globalcode
 
Python para análise de dados
Python para análise de dadosPython para análise de dados
Python para análise de dadosCaique Lima
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
jQuery com Richfaces
jQuery com RichfacesjQuery com Richfaces
jQuery com RichfacesCezinha Cezer
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 

Semelhante a Jett: Exporte Excel do jeito que seu cliente sempre sonhou (11)

Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do Design
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
AppPrint
AppPrintAppPrint
AppPrint
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhos
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
 
Python para análise de dados
Python para análise de dadosPython para análise de dados
Python para análise de dados
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
jQuery com Richfaces
jQuery com RichfacesjQuery com Richfaces
jQuery com Richfaces
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 

Mais de Emmanuel Neri

Arquitetura orientada a eventos
Arquitetura orientada a eventosArquitetura orientada a eventos
Arquitetura orientada a eventosEmmanuel Neri
 
Iniciando com Docker
Iniciando com DockerIniciando com Docker
Iniciando com DockerEmmanuel Neri
 
Arquitetura reativa, a solução para os microserviços?
Arquitetura reativa,  a solução para os microserviços?Arquitetura reativa,  a solução para os microserviços?
Arquitetura reativa, a solução para os microserviços?Emmanuel Neri
 
Preparando nossas aplicações para falharem com feature toggle e configurações...
Preparando nossas aplicações para falharem com feature toggle e configurações...Preparando nossas aplicações para falharem com feature toggle e configurações...
Preparando nossas aplicações para falharem com feature toggle e configurações...Emmanuel Neri
 
Preparando nossa aplicação para falhar com feature toggle e configurações dis...
Preparando nossa aplicação para falhar com feature toggle e configurações dis...Preparando nossa aplicação para falhar com feature toggle e configurações dis...
Preparando nossa aplicação para falhar com feature toggle e configurações dis...Emmanuel Neri
 
Combatendo code smells em Java
Combatendo code smells em Java Combatendo code smells em Java
Combatendo code smells em Java Emmanuel Neri
 
Configurações distribuídas com Spring Cloud Config
Configurações distribuídas com Spring Cloud ConfigConfigurações distribuídas com Spring Cloud Config
Configurações distribuídas com Spring Cloud ConfigEmmanuel Neri
 
Lidando com desafios dos microserviços com a stack Spring Cloud Netflix
Lidando com desafios dos microserviços com a stack Spring Cloud NetflixLidando com desafios dos microserviços com a stack Spring Cloud Netflix
Lidando com desafios dos microserviços com a stack Spring Cloud NetflixEmmanuel Neri
 
Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosEmmanuel Neri
 
Análise e Design - RUP
Análise e Design - RUPAnálise e Design - RUP
Análise e Design - RUPEmmanuel Neri
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Emmanuel Neri
 

Mais de Emmanuel Neri (13)

Arquitetura orientada a eventos
Arquitetura orientada a eventosArquitetura orientada a eventos
Arquitetura orientada a eventos
 
Iniciando com Docker
Iniciando com DockerIniciando com Docker
Iniciando com Docker
 
Arquitetura reativa, a solução para os microserviços?
Arquitetura reativa,  a solução para os microserviços?Arquitetura reativa,  a solução para os microserviços?
Arquitetura reativa, a solução para os microserviços?
 
Preparando nossas aplicações para falharem com feature toggle e configurações...
Preparando nossas aplicações para falharem com feature toggle e configurações...Preparando nossas aplicações para falharem com feature toggle e configurações...
Preparando nossas aplicações para falharem com feature toggle e configurações...
 
Preparando nossa aplicação para falhar com feature toggle e configurações dis...
Preparando nossa aplicação para falhar com feature toggle e configurações dis...Preparando nossa aplicação para falhar com feature toggle e configurações dis...
Preparando nossa aplicação para falhar com feature toggle e configurações dis...
 
Combatendo code smells em Java
Combatendo code smells em Java Combatendo code smells em Java
Combatendo code smells em Java
 
Configurações distribuídas com Spring Cloud Config
Configurações distribuídas com Spring Cloud ConfigConfigurações distribuídas com Spring Cloud Config
Configurações distribuídas com Spring Cloud Config
 
Lidando com desafios dos microserviços com a stack Spring Cloud Netflix
Lidando com desafios dos microserviços com a stack Spring Cloud NetflixLidando com desafios dos microserviços com a stack Spring Cloud Netflix
Lidando com desafios dos microserviços com a stack Spring Cloud Netflix
 
Trabalho Remoto
Trabalho RemotoTrabalho Remoto
Trabalho Remoto
 
Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativos
 
Análise e Design - RUP
Análise e Design - RUPAnálise e Design - RUP
Análise e Design - RUP
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3
 
Jenkins
JenkinsJenkins
Jenkins
 

Jett: Exporte Excel do jeito que seu cliente sempre sonhou