Como ler planilha em Excel sem ocorrer outofmemory?

Alguém sabe me dizer qual a melhor biblioteca ou classes para ler uma planilha do excel sem ocorrer outofmemory? estou utilizando atualmente o POI, mas no momento que abre a planilha, ocorre a mensagem de erro outofmemory. Preciso obter dados de uma planilha que tem 500.000 ligações de telefone e gravá-las em um banco de dados.

vc pode procurar por jexcelapi
edit
segue um exemplo

Workbook workbook = Workbook.getWorkbook("caminho da planilha");
Sheet sheet = workbook.getSheet(0);
			int linhas = sheet.getRows();
			for(int i = 0; i < linhas; i++){
								
//celular
				Cell cell1 = sheet.getCell(0, i);
				Cell cell2 = sheet.getCell(1, i);
				Cell cell3 = sheet.getCell(2, i);
				Cell cell4 = sheet.getCell(3, i);
				Cell cell5 = sheet.getCell(4, i);
				Cell cell6 = sheet.getCell(5, i);
				//conteudo das celular
				String contents1 = cell1.getContents();
				String contents2 = cell2.getContents();
				String contents3 = cell3.getContents();
				String contents4 = cell4.getContents();
				String contents5 = cell5.getContents();
				String contents6 = cell6.getContents();

[color=darkblue] Seria interessante se você pudesse postar o código

1ª coisa você tem que ver como você está lendo os dados, se no momento que você entra no Loop você não está criando nenhum objeto novamente aumentando o consumo de memória

2º Após fazer isso veja se não consegue paginar ou algo do tipo

Tem outra opção :[/color]

jexcelapi

jexcelapitutorial

ok… vou tentar com o JExcel… e volto a responder… obrigado…

Estou tentando desta vez com o JExcel… inclusive a lógica de abertura da planilha é praticamente idêntica. esta planilha é formato .xlsx. E agora está ocorrendo o erro “Unable to recognize OLE stream”. Tem alguma dica aí?

	public void abrePlanilha(String pathFile) throws Exception 
	{
	
		Workbook workbook = Workbook.getWorkbook(new File(pathFile));
		
		Sheet sheet = workbook.getSheet(0);
		
		System.out.println(sheet.getCell(0,0));

		
	}

Reads data from Excel 95, 97, 2000, XP, and 2003 workbooks.

vc esta lendo uma planilha do 2007

Estou também tentando manipular planilhas do exel.
Usei um exemplo igual ao do jocamsg só que o meu NetBeans não reconhece a função getWorkbook.
Já adicionei o API no projeto e também já o importei para o aquivo.
Segue o código:

try {
                abrirPlanilha(caminhoArquivo);
            }catch (Exception e){
                //Mensagem de Erro!
            }
private void abrirPlanilha(String caminhoArquivo) throws Exception {
        Workbook workbook = Workbook.getWorkbook(caminhoArquivo);
        Sheet sheet = workbook.getSheet(0);
            
    }

Resolvi o problema trocando o paremetro.
Porém agora não consigo fazer com que minha variável File receba o File selecionado.

arquivo=janelaAbrir.getSelectedFile().getAbsoluteFile();

Algo de errado?

hô atari… também estou tendo este problema… ainda está sem solução

Você conseguiu fazer com que o arquivo receba o seu arquivo .xls?
No meu caso eu coloquei a variável File aquivo como global, ai deu certo.