Apache POI
Manipulação de Arquivos com
Cristiano Agosti - @agosti
Professor da Universidade do Oeste de Santa CatarinaDesenvolvedor JEE Incentivador do uso de Software LivreParticipante do OeSC-livre.org
Luzitan Orso Zancan - @luzitan
Programador linguagens C e JEEIncentivador do uso de Software Livre
Apresentação
Agenda• Motivação • Fundação Apache• Apache POI• Streams• Configurações • API Componentes• Exemplos• Integração com PHP e Ruby • Como Participar• Quem utiliza
Motivação
Detecção de Plágio em Arquivos http://www.copiaecola.com.br
• O que é? • Licença Apache
• Principais Projetos
Fundação Apache
Apache POI
• Poor Obfuscation Implementation - POI • Open Office XML - OOXML
• Compound Document Format - OLE2
API de Componentes
API de Componentes
• Excel (HSSF+XSSF) • Word (HWPF+XWPF)
• PowerPoint (HSLF+XSLF)
• Outlook (HSMF)
• Visio (HDGF)
• TNEF (HMEF)
• Publisher (HPBF)
Configurações
Configurações
Dependências
OpenXML4J (OOXML)
I/O Streams
OutputStream
InputStream
Excel (HSSF + XSSF)
• API Java para criação, modificação, leitura e escrita no Microsoft Excel
• HSSF - Excel 97 (-2007)
• XSSF - Excel 2007 (.xlsx)
• http://poi.apache.org/spreadsheet/quick-guide.html
• http://poi.apache.org/spreadsheet/examples.html
• Criar workbook, planilha, células, • Trabalhar com diferentes tipos de
células de dados• Interagir sobre linhas e céluas• Pegar o conteúdo de uma célula• Extrair texto• Alinhar células• Trabalhar com bordas• Cores e fundos• Merge de células• Fontes• Criar novas linhas em células• Criar dados no formatado definido
pelo usuário• Ajustar planilha em uma página• Imagens
• Definir em uma planilha: área de impressão, número de páginas no rodapé, selecionar, definir zoom, ajustar linhas
• Criar painéis congelados• Desenhar shapes e graficos 2d• Formatação Condicional• Autofiltros• Objetos Embutidos• Validação de dados• Hiperlinks• Ajustar colunas conforme o
conteúdo• Setar comentários nas células• Nomear intervalos e células• Cabeçalhos e rodapés
Excel (HSSF + XSSF)
Excel (XSSF)
Excel (XSSF)
Excel (XSSF)
Excel (XSSF)
Excel (XSSF)
Word (HWPF + XWPF)
• API Java para criação, modificação, leitura e escrita no Microsoft Word
• HWPF - Word 97 (-2007)
• XWPF - Word 2007 (.xlsx)
Word (XWPF)
Word (XWPF)
Word (XWPF)
Word (XWPF)
PowerPoint (HSLF+XSLF)
• API Java para criação, modificação, leitura e escrita no Microsoft PowerPoint
• HSLF - Word 97 (-2007) • XSLF - não finalizado
• http://poi.apache.org/slideshow/how-to-shapes.html
PowerPoint (XSLF)
PowerPoint (HSLF)
PowerPoint (HSLF)
PowerPoint (HSLF)
PowerPoint (HSLF)
Outlook (HSMF)
• Implementa manipulação das mensagens no formato do Outlook
• MAPIMessage• getDisplayFrom()• getDisplayTo()• getDisplayCC()• getDisplayBCC()• getSubject()• getTextBody()• getAttachmentFiles() - AttachmentChunks (attachFileName,
attachData)
HMEF (TNEF)
• Java API para acessar o Microsoft Transport Neutral Encoding Files (TNEF)
• Manipulação dos arquivos do Outlook e Exchange
• Permite fácil extração dos dados do corpo da mensagem e
anexos • Trabalhar com atributos da mensagem e do corpo
Visio (HDGF)
Publisher (HPBF)
Elaboração
Apache POI e outras Linguagens
Apache POI e PHP
Apache POI e PHP
• Compilar POI com http://gcc.gnu.org/java • Gerar Ruby wrapper com http://www.swig.org
• http://poi.apache.org/poi-ruby.html
Apache POI e Ruby
Apache POI e Ruby
Fonte: http://poi.apache.org/poi-ruby.html
Fonte: http://poi.apache.org/poi-ruby.html
Apache POI e Ruby
Arian Lashkov (alaskov at lbank.lt)
Fonte: http://poi.apache.org
http://jasperforge.org
Quem utiliza o Apache POI
http://drupal.org
http://nutch.apache.org
Apache POI e Microsoft
São US$100 mil por anoFonte: http://meiobit.com/16589/a-necessidade-cria-estranhos-companheiros-de-cama
Patrocínio Platina
Fonte: http://www.apache.org/foundation/thanks.html
Patrocínio Ouro
Fonte: http://www.apache.org/foundation/thanks.html
Demais Patrocinadores
Fonte: http://www.apache.org/foundation/thanks.html
Equipe Atual - 17 pessoas
Fonte: http://poi.apache.org/who.html
Como participar
• http://svn.apache.org/repos/asf
Apache POI e Maven
• http://mvnrepository.com/artifact/org.apache.poi/poi/3.5-beta3
Agradecimento
Universidade do Oeste de Santa CatarinaCampus de Xanxerê
http://www.unoesc.edu.br
Top Related