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… 
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();
}