[Resolvido] Problema para ler células de um arquivo .xls (Excel) usando JExcelAPI (jlx)

6 respostas
E

Boa noite galera do GUJ,

Estou com um problema urgente! e não consigo resolver!

Estou lendo uma planilha do excel utilizando a biblioteca JExcelAPI!

Eu consigo fazer a leitura normal das células, mas no caso de cidade, estado e email. eu não consigo obter o conteúdo da célula. já nas outras células eu consigo!

O que é muito estranho, pois uso a mesma maneira para obter o conteúdo.

for(int j = 2; j < linhas; j++)
                            {
                                Cell nmfantasia = sheet.getCell(0, j);
                                Cell rzsocial = sheet.getCell(1, j);
                                Cell cnpj = sheet.getCell(2, j);
                                Cell cidade = sheet.getCell(3, j);
                                Cell estado = sheet.getCell(4, j);
                                Cell cad = sheet.getCell(5, j);
                                Cell email = sheet.getCell(6, j);
                               		
                                String nomeFantasia = nmfantasia.getContents();
                                String razaoSocial = rzsocial.getContents();
                                String nrcnpj = cnpj.getContents();                                
                                String nmcidade = cidade.getContents();                                
                                String nmestado = estado.getContents();
                                String nrcad = cad.getContents();
                                String nmemail = email.getContents();
                             }

Eu consigo obter os valores para nomeFantasia, razaoSocial, nrcnpj, nrcad. mas não consigo obter o valor!

OBS: debungando a aplicação, expandindo a árvore da variavel (Cell cidade), no campo String CONSTA O VALOR CORRETO! que deveria aparecer na variavel nmcidade!

Se alguém tiver a solução p/ isso! por favor me ajude. esse problema esta me mataannndoooo!!!

Agradeço desde já. obrigado!

Att, Eduardo Franzoni :oops:

6 Respostas

C

Pq vc usa essa biblioteca?? Pq não usa POI da Apache?

E

Então, aonde eu achei uns exemplos o mais fácil de adaptar ao que eu quero me pareceu o JExcepAPI.

Você poderia me ajudar a montar?

C

Dá uma olhada nesses dois artigos:

http://www.devmedia.com.br/articles/post-5380-Como-manipular-arquivos-Excel-com-Jakarta-POI-Parte-I.html

http://www.devmedia.com.br/articles/post-5891-Como-manipular-arquivos-Excel-com-Jakarta-POI-Parte-II.html

E

Veja isso,

<%
  HSSFWorkbook wb;
  HSSFSheet sheet;
  
  wb = new HSSFWorkbook(new FileInputStream(caminho));
  
  sheet = wb.getSheetAt(0);
  //aki está o problema, a forma de ler o arquivo
  //ou seja, pegar a quantidade de linhas usadas na sheet(0); 
  HSSFRow row = sheet.getRow(linha);
  HSSFCell cell = row.getCell((short)coluna);
  
  String conteudo = (String)cell.getStringCellValue();
%>

Eu travei na hora de ler a planilha e depois pegar o conteúdo de cada célula!
poderia me ajudar? iniciante total, estágiario!

Abraço!

E

Bom dia, gostaria de saber se estou no caminho certo! para fazer o que eu quero!

Ler a sheet apartir da linha 2, pegando todos os valores de cada célula! supondo que está preenchido ateh a coluna2! e armazena-las em uma váriavel para depois inserir no banco!

HSSFSheet sheet;

wb = new HSSFWorkbook(new FileInputStream(caminho));

sheet = wb.getSheetAt(0);

int linhas = sheet.getLastRowNum();

for(int k = 2; k < linhas; k++)
{
   HSSFRow row = sheet.getRow(k);
   HSSFCell cell = row.getCell((short)1);
   String celula1 = cell.getStringCellValue()
   HSSFRow row = sheet.getRow(k);
   HSSFCell cell = row.getCell((short)2);
   String celula2 = cell.getStringCellValue();
}

Obrigado! ajudas plz!

E

Realmente o Apache POI funcionou perfeitamente.
Utilizei a classe DataFormatter para ler as células. é melhor pois tem um método que retorna o valor da célula independente do formato dela.

Att.

Criado 13 de julho de 2011
Ultima resposta 26 de jul. de 2011
Respostas 6
Participantes 2