exceção java.lang.outofmemory ao ler o arquivo excel (xlsx) usando o POI
Estou desenvolvendo uma aplicação web que lê dados do arquivo excel (xlsx). Estou usando o POI para ler a planilha do excel. O problema é quando eu tento ler o arquivo do Excel, o servidor gera o seguinte erro:
O arquivo excel que estou tentando ler tem tamanho de quase 80 MB. Alguma solução para este problema?
Na verdade, o usuário está fazendo o upload do arquivo e do aplicativo depois de salvar o arquivo no disco para tentar ler o arquivo. O trecho de código que estou usando para teste é:
File savedFile = new File(file_path);
FileInputStream fis = null;
try {
fis = new FileInputStream(savedFile);
XSSFWorkbook xWorkbook = new XSSFWorkbook(fis);
XSSFSheet xSheet = xWorkbook.getSheetAt(5);
Iterator rows = xSheet.rowIterator();
while (rows.hasNext()) {
XSSFRow row = (XSSFRow) rows.next();
Iterator cells = row.cellIterator();
List data = new ArrayList();
while (cells.hasNext()) {
XSSFCell cell = (XSSFCell) cells.next();
System.out.println(cell.getStringCellValue());
data.add(cell);
}
}
} catch (IOException e) {
e.printStackTrace();
}