Importação de arquivos Excel grandes

0 respostas
Leandro_Carvalho

Estou com problemas ao importar planilhas excel com mais de 30MB.
Já tentei usar o JExcel e o POI da Apache, ambos com o mesmo problema, [color=red]Java Heap Space[/color].

Me parece que eles tentam alocar toda a planilha na memória, as soluções que encontrei até então são aumentar a memória da JVM, limitar o arquivo que minha aplicação recebe ou exportar este arquivo para CSV. Nenhuma delas é viável para minha aplicação.

Tenho planilhas de até 200MB para serem importadas para o banco de dados, isso é possível?

O código para simular esse erro é bem simples, o problema é gerar uma planilha grande para teste… :stuck_out_tongue:
No caso do JExcel:

try {
			Workbook workbook = Workbook.getWorkbook(new File("c:/plan1.xls"));
		} catch (Exception e) {
			e.printStackTrace();
		}

No caso do POI:

try {
			HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream("c:/plan1.xls")));
		} catch (IOException e) {
			e.printStackTrace();
		}
Criado 4 de dezembro de 2009
Respostas 0
Participantes 1