Whats new? | Login
Cadastre-se | Atendimento | RSS
 
Live chat by Netwatts
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos
Você está em: / canal Java [artigos]
   + Java:   artigos   |   vídeos   |    cursos   |    mais
 
 
Outras seções:
Home 
Entenda o site 
Revistas 
Canais 
Cursos 
Palestras 
Suporte 
Fórum 
Oportunidades 
 Todos os links 

 
  Ir para o Canal Java  
+Canais:
Canal Delphi 
Canal Java 
Canal .net 
Canal Banco de dados 
Canal Mobile 
Canal Ruby on Rails 
Canal PHP 
Canal ASP 
Canal WebDesign 
Canal Engenharia de Software 
Canal Linux 
Canal Scripting 
Canal Outros 
  Todo conteúdo DevMedia 

 
  ver cursos de Java  
+Cursos:
Cursos de Java 
Cursos de .net 
Cursos de Banco de dados 
Cursos de Delphi 
Cursos de Engenharia de Software 
Cursos de Ruby on Rails 
Cursos de ASP 
Cursos de WebDesign 
Cursos de PHP 
Cursos de PalmOS 
Cursos de Linux 
Cursos de Scripting 
  Formações completas 
  Todos os cursos 

 
Canal de conteúdo Java
Revista Java Magazine
Suporte Java
Palestras de Java
E-books de Java
Downloads de Java
 

+Revistas:
ClubeDelphi 
.net Magazine 
Java Magazine 
webMobile Magazine 
SQL Magazine 
Engenharia de Software Magazine 
  Edições anteriores impressas 
  Todas as revistas 


[Fechar]
Este post está disponível para quem é assinante da Java Magazine ou para quem possui Créditos DevMedia.


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

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 0,00 (assinante) ou R$ 0,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 0,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia


Como manipular arquivos Excel com Jakarta POI – Parte I

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:

www.eclipse.org

 

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:

 

ggmejp1fig011.jpg 

 

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:

 

ggmejp1fig021.jpg 

 

a figura ilustra o resultado do código acima, ao qual foram adicionados os sheets planilha um, planilha dois e planilha três.

 

ggmejp1fig031.jpg 

 

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

 

ggmejp1fig041.jpg 

 

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!





GLAUCIO GUERRA
Há cinco anos atuando com desenvolvimento de software, Glaucio Guerra (glaucioguerra@gmail.com) trabalha como Analista de Sistemas no ambiente Petrobras, no Rio de Janeiro, sendo bacharelando em Ciência da Computação. Atualmente, concentra seus proje...
Ver space do autor


Estatísticas deste post:
Visualizações:  37346
Favoritado:  8 vez(es)
 
Conteúdo:
Didática:
Utilidade:
18 0
Feedbacks: 21

  Central de Serviços:
Inclua seu próprio artigo! (ajuda)
Participe! Inclua um comentário
Adicionar este post a Favoritos
Marcar este post como lido/assistido
Inclua uma anotação pessoal (ajuda)
RSS Feeds
Versão para impressão



Participe! Inclua um comentário
[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


GUSTAVO SANTOS
6/7/2007 17:41
 Lamentável
Prezados, Diria que essa situação é no mínimo lamentável. O cara escreve um artigo na melhor das intenções para propagar informação e vem um cara numa atitude inusitada ofender. lastimável!!!!!
Responder


Josmar Barbosa
7/7/2007 12:48:31 PM
 Artigo louvável.
Parabéns pelo artigo, pelo trabalho de pesquisa e pela tradução bem feita. Você agiu como um facilitador e isto tem muito valor na divulgação do conhecimento.
Responder


Glaucio Guerra
7/9/2007 1:07:11 PM
 Obrigado a todos
Pessoal agradeço o apoio de todos! A segunda parte já está pode ser acessada ok? Um abraço!
Responder


Enzo
8/20/2007 2:00:07 PM
 problemas com POI
Muito bom esse seu artigo. Porém, estou com um problema:Rodando pela classe main no IDE funciona, mas quando é gerado o .jar não funciona. O que será que acontece?
Responder


Glaucio Guerra
8/29/2007 12:08:55 PM
 Como está gerando o Jar?
Olá Enzo, como você está gerando o .jar? Posso te explicar melhor por email: glaucioguerra at gmail dot com. Um abraço!
Responder


Markus
9/18/2007 3:00:08 PM
 Como abrir um arquivo do excel com Java?
Eu sou novo na área da computação, estou trabalhando com o Java recentemente... e gostaria de saber como fazer para abrir um documento feito em excel no Java... eu ficaria m uito agradecido.. Obrigado
Responder


Glaucio Guerra
10/12/2007 6:01:32 AM
 Neste artigo!
Olá Markus, neste artigo demonstra como isso é feito! No primeiro código está um exemplo ok? Um abraço!
Responder
Andre Rocha
19/6/2007 12:31
 Parabens pelo Plágio
Créditos deste tutorial devem ser dados à Samudra Gupta end. http://www.devx.com/Java/Article/17301/0 Cara, você é a maior farça que já conheci. :)
Responder


Glaucio Guerra
7/2/2007 5:01:21 PM
 Você sabe o que é Plágio
Caro André, seja mais educado com suas palavras. Primeiramente, você sabe o que é um Plágio? Eu me passei pelo autor deste artigo em algum momento? Eu me apropriei do artigo dele? Eu traduzi o que ele escreveu para Português e assinei em baixo? Eu copiei algum texto, imagem ou seja lá o que for do artigo do autor que você citou? Por favor, faça comentários que acrescentem alguma coisa para os leitores deste portal. Seja mais ético e prove o que diz. Leia bem os dois artigos e veja que ambos estão sendo baseados na API e nada mais.
Responder


José Brandão
7/4/2007 7:04:35 AM
 É um ignorante
Glaucio, existem pessoas que são assim mesmo. Sentem inveja do trabalho do próximo. Eu li os dois artigos e vi que você não copiou absolutamente nada. Um grande abraço e obrigado pelas dicas!
Responder


Peam
11/19/2007 3:17:52 PM
 Seu trouxa
Aí seu trouxa, larga a mão de ser babaca. O arqtigo do cara é muito bom, e não tem nada de plágio, não. Você deve estar tão acostumado a copiar códigos dos outros (CTRL C / CTRL V) que você acha que todo mundo é igual. Seu "papa-code" do caramba.
Responder


MSCOSTA
12/3/2007 1:53:16 PM
 André Rocha...Analfabeto
André Rocha..seu filádaputa do kralho...pelo menos aprenda a escrever..."farça" é com "s"...Vê se contribui com algo mais construtivo...seu viado....
Responder
joao
6/7/2007 11:24
 Andre Rocha
Esse Andre Rocha é um otário, o artigo do cara é muito bom. Manda esse filho da puta desse Andre Rocha tomar no meio do cu.
Responder


Itamar Nunes
3/21/2008 10:25:54 PM
 Ótima matéria, era o que eu precisava.. :)
Mto Bom!
Responder
joao
6/7/2007 11:24
 Andre Rocha
Esse Andre Rocha é um otário, o artigo do cara é muito bom. Manda esse filho da puta desse Andre Rocha tomar no meio do cu.
Responder


Diogo
4/30/2008 9:30:37 PM
 Artigo mto bom
Joao, concordo com vc em relaçao ao Andre Rocha. André, mesmo que o kra tivesse traduzido o artigo isso seria de grande valia pois infelizmente existem muitas pessoas que nao sabem ler ingles. portanto pare de ser mané, escreva ou traduz um artigo e contribua para o crescimento profisional seu e de outras pessoas. Parabéns pelo artigo, muito bom.
Responder
Lucas Fogaça
29/5/2008 01:37
 Muito útil
Para mim foi bem útil, me ajudou bastante :), valeu.
Responder
fabricio de souza farias
6/9/2008 10:11
 dúvida
Primeiramente parabenizo pelo artigo!

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
[Fechar]

Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
2009 - Todos os Direitos Reservados a DevMedia Group