Como manipular arquivos Excel com Jakarta POI – Parte I
O Projeto POI é um aglomerado de APIs que tem como função manipular arquivos do tipo Microsoft OLE 2.
Estatísticas:










votos: 21
Serviços:

como manipular arquivos excel com jakarta poi – parte i
o projeto poi é um aglomerado de apis que tem como função manipular arquivos do tipo microsoft ole 2. todo esse processo se dá na linguagem java, o que facilita a nossa vida de mortais programadores. no entanto, vale lamentar que, atualmente, a api não está completa para todos os formatos. somente a hssf (formato excel) disponibiliza grande parte dos comandos utilizados no excel para a manipulação de planilhas. para os outros programas, powerpoint e word, existem poucas opções de manipulação em termos de recurso. falar do projeto poi-hssf referente à leitura e escrita de arquivos excel é o tema.
configurando o ambiente
utilizaremos o eclipse como ide:
download do jakarta poi:
http://www.apache.org/dyn/closer.cgi/jakarta/poi/
descompacte o arquivo poi-bin-3.0-alpha3-20061212.zip (versão com data deste artigo) e copie o arquivo poi-3.0-alpha3-20061212.jar para o classpath da sua aplicação. pronto, o ambiente já está configurado para a criação da primeira planilha.
da criação de uma planilha
para gerar um arquivo de planilha excel, utilizaremos a classe hssfworkbook. observe o conjunto de códigos abaixo:
package glaucioguerra.info.main;
import java.io.fileoutputstream;
import java.io.ioexception;
import org.apache.poi.hssf.usermodel.hssfworkbook;
public class main {
public static void main(string[] args) throws ioexception {
hssfworkbook wb = new hssfworkbook();
fileoutputstream stream = new fileoutputstream("c:/planilha.xls");
wb.write(stream);
}
}
a classe workbook necessita de um fileoutputstream para armazenar a planilha em disco, que foi gerada no raiz c:\planilha.xls, conforme figura:
adicionando planilhas ao workbook
é possível adicionar planilhas ou sheets em um workbook. a classe que representa um sheet é a hssfsheet. no exemplo será adiciona à planilha três sheets.
package glaucioguerra.info.main;
import java.io.fileoutputstream;
import java.io.ioexception;
import org.apache.poi.hssf.usermodel.hssfsheet;
import org.apache.poi.hssf.usermodel.hssfworkbook;
public class main {
public static void main(string[] args) throws ioexception {
hssfworkbook wb = new hssfworkbook();
hssfsheet sheet1 = wb.createsheet("planilha um");
hssfsheet sheet2 = wb.createsheet("planilha dois");
hssfsheet sheet3 = wb.createsheet("planilha três");
fileoutputstream stream = new fileoutputstream("c:/planilha.xls");
wb.write(stream);
}
}
o método createsheet recebe como parâmetro uma string para identificar o nome da planilha adicionada ao workbook. o retorno desta função é do tipo hssfsheet, que será utilizado para manipular as células pertencentes à planilha. a relação entre essas classes seria da seguinte forma:
a figura ilustra o resultado do código acima, ao qual foram adicionados os sheets planilha um, planilha dois e planilha três.
adicionando conteúdo nas células
para adicionar um conteúdo em uma célula é necessário instanciar uma classe do tipo hssfrow, na qual serão adicionadas as células que são representadas pela classe hssfcell.
segue o exemplo:
package glaucioguerra.info.main;
import java.io.fileoutputstream;
import java.io.ioexception;
import org.apache.poi.hssf.usermodel.hssfrow;
import org.apache.poi.hssf.usermodel.hssfsheet;
import org.apache.poi.hssf.usermodel.hssfworkbook;
public class main {
public static void main(string[] args) throws ioexception {
hssfworkbook wb = new hssfworkbook();
hssfsheet sheet1 = wb.createsheet("planilha um");
hssfsheet sheet2 = wb.createsheet("planilha dois");
hssfsheet sheet3 = wb.createsheet("planilha três");
hssfrow row = sheet1.createrow(0);
row.createcell((short) 0).setcellvalue("isto é uma string");
fileoutputstream stream = new fileoutputstream("c:/planilha.xls");
wb.write(stream);
}
}
o método createcell adiciona células à linha da planilha. toda a instância da classe hssfrow deve receber um inteiro como parâmetro na criação do objeto, que representa a posição da linha na planilha. a seqüência começa em zero conforme utilizada no exemplo.
resultado
na segunda parte deste tema será feito um panorama da criação de células do tipo data e suas formatações: cores, alinhamento e mesclagem de células. acompanhe a seqüência dos próximos artigos, pois temos muito a falar nos mais diversos desdobramentos desse assunto.
até breve!

Participe! Inclua um comentário
6/7/2007 17:41
[responder]
7/7/2007 12:48
[responder]
9/7/2007 13:07
[responder]
20/8/2007 14:00
[responder]
29/8/2007 12:08
[responder]
18/9/2007 15:00
[responder]
12/10/2007 06:01
[responder]


19/6/2007 12:31
[responder]
2/7/2007 17:01
[responder]
4/7/2007 07:04
[responder]
19/11/2007 15:17
[responder]
3/12/2007 13:53
[responder]


6/7/2007 11:24
[responder]


6/7/2007 11:24
[responder]
30/4/2008 21:30
[responder]


29/5/2008 01:37


6/9/2008 10:11
E em segundo lugar peço que se possível vc tire uma dúvida que surgiu...Bem tu ensinaste a criar uma planilia e modificar as celulas, mas se eu apenas quizesse carregar uma planilia já existente com dados e que meu programa tivesse a opção de escolher uma das abas da mesma como seria o código ? podes me auxiliar me enviando um exemplo ?
Não sei se fui claro, espero que sim!
desde já agradeço!
[responder]



Artigo Java Magazine 59 - Grails: mais inspiração, menos transpiração

Notícias – Adobe anuncia Flex 4 – fisl 9.0 – iPhone SDK para Download – Google lança AJAX Translation API

Notícias - Java SE 6 Developer Preview 9 - GWT-Ext 2.0 - Google Android - Grails 1.0.1 - J2EE Spider 1.0.0-M1

Como manipular arquivos Excel com Jakarta POI – Parte II

Como manipular arquivos Excel com Jakarta POI – Parte I

Alta performance na indexação com Apache Lucene – Parte II

Possibilitando alta performance na indexação com o Apache Lucene - Parte I

DB4Objects na Prática – Parte IV

DB4Objects – Parte III

DB4Objects – Parte II – Mãos a Obra





[vídeo] Consumindo os dados via ajax – Consumindo dados com getJson do jQuery utilizando POCO EF 4.0 – Parte 3

[vídeo] Classe POCO – Consumindo dados com getJson do jQuery utilizando POCO EF 4.0 – Parte 1

Imprimindo Relatório : VCL Crystal Reports XI - Delphi

VCL Crystal Reports XI - Delphi

[vídeo] Gerenciamento das Comunicações - Curso Gerência de Projetos – Parte 8

[vídeo] Plano de Comunicação - Curso Gerência de Projetos – Parte 9

[vídeo] Seleção e Priorização de Projetos - Curso Gerência de Projetos – Parte 6

[vídeo] Escopo, metas, premissas, restrições - Curso Gerência de Projetos – Parte 7

[vídeo] Documento Conceitual do Projeto - Curso Gerência de Projetos – Parte 5


Você está em:




Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!


