Problemas na importação do Excel POI

6 respostas
G

Ae Galera!!

Estou alguns dias tentando resolver um problema e não estou conseguindo.
Estou alterando um sistema para começar importar e exportar planilha excel no formato .xlsx e a versão do java é 1.4 e weblogic 8.1

Para exportar a planilha implementei com XSSFWorkbook e funfou, mas quando eu tento importar a planinha está estourando memória
quando tento instanciar o WorkBook nos seguintes casos:

XSSFWorkbook = new XSSFWorkbook(inputstream); //ou
Workbook wb = WorkbookFactory.create(inputstream);

Tentei fazer com File ou FileInputStream e tbm está estourando memória, ai pesquisando outras soluções tentei fazer a implentar o SAX (XSSF and SAX (Event API)) e o SXSSFWorbook… e não funcionou.Nestes casos(SAX e SXSSFWorkbook) não funcionou por que eu tive q retirar uma lib por que estava dando conflito no weblogic e a implementação do SAX precisa desta lib.

Estou procurando outras alternativas para tentar importar a planilha excel no formato .xlsx, alguém tem uma outra solução e/ou alternativa para este caso?

Desde já agradeço.

6 Respostas

F

Você precisa ler todo o arquivo de uma vez para a memória?

Se sim
Talvez você precise aumentar os valores da Heap (Xms/Xmx)

Senão
Você pode utilizar a API Event

G

Obrigado pela resposta.

Eu já tentei os dois casos e mesmo assim não funcionou.

D

gubd85:
Obrigado pela resposta.

Eu já tentei os dois casos e mesmo assim não funcionou.

estoura bem no construtor quando se passa o arquivo…, o arquivo tem mais de 65 mil linhas…

eu tive o mesmo problema, acabei desistindo e forçando o usuário a converter o arquivo em csv.

vou acompanhar o tópico, vai que rola uma solução.

G

É isto mesmo que acontece e no meu caso eu to testando com 20.000 linhas, mas na vida real o usuário utilizará um arquivo com mais de 65 mil.

É muito complicado implementar arquivo csv?

D

gubd85:
É isto mesmo que acontece e no meu caso eu to testando com 20.000 linhas, mas na vida real o usuário utilizará um arquivo com mais de 65 mil.

É muito complicado implementar arquivo csv?

arquivo csv é um arquivo texto, com delimitadores… basicamente 3:

1 delimitador para colunas (comulmente ; ou | )
1 para Strings (comulmente " ou ’ )
1 para linhas (comulmente \n)

ai você define os delimitadores que o usuário utiliza para exportar, o encoding…UTF-8, ISO-88591 etc… e utiliza as mesmas informações para realizar a importação…

excel, libreoffice calc, openoffice, e todos os seus derivados, acredito eu que exportam para csv…porém perde qualquer formatação.

G

Valeu douglaskd vou pesquisar sobre .csv

Criado 24 de julho de 2013
Ultima resposta 24 de jul. de 2013
Respostas 6
Participantes 3