for (int currentRow = RIGHE_INTESTAZIONE; currentRow < sheet.getRows(); currentRow++) {
societaVeicolo = sheet.getCell(0, currentRow);
if (isEmpty(societaVeicolo))
throw new UnvalidCellException(currentRow+1, 1);
dataRegistrazione = sheet.getCell(1, currentRow);
if (!(dataRegistrazione instanceof DateCell))
throw new UnvalidCellException(currentRow+1, 2);
dataCompetenza = sheet.getCell(2, currentRow);
if (!(dataCompetenza instanceof DateCell))
throw new UnvalidCellException(currentRow+1, 3);
tipoMovimento = sheet.getCell(3, currentRow);
if (isEmpty(tipoMovimento))
throw new UnvalidCellException(currentRow+1, 4);
causale = sheet.getCell(4, currentRow);
if (isEmpty(causale))
throw new UnvalidCellException(currentRow+1, 5);
progressivoCausale = sheet.getCell(5, currentRow);
if (!(progressivoCausale instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 6);
gruppo = sheet.getCell(6, currentRow);
if (!(gruppo instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 7);
mastro = sheet.getCell(7, currentRow);
if (!(mastro instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 8);
conto = sheet.getCell(8, currentRow);
if (!(conto instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 9);
dare = sheet.getCell(9, currentRow);
if (!(dare instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 10);
avere = sheet.getCell(10, currentRow);
if (!(avere instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 11);
descrizione = sheet.getCell(11, currentRow);
dataValuta = sheet.getCell(12, currentRow);
if (!isEmpty(dataValuta) && !(dataValuta instanceof DateCell))
throw new UnvalidCellException(currentRow+1, 13);
finanziamento = sheet.getCell(13, currentRow);
if (!isEmpty(finanziamento) && !(finanziamento instanceof NumberCell))
throw new UnvalidCellException(currentRow+1, 14);
if (emptyRow()) {
return listaMovimenti;
}