Dimensione della cella excel e java

di il
3 risposte

Dimensione della cella excel e java

Poiché esiste il metodo size () con Arrraylist, per conoscere la dimensione degli elementi.
Invece usando apache poi, acome posso conoscere la dimensione della cella in Excel, per sapere quanti record ci sono?

public void fillDispositivoVeicoloIDVEICOLO () {
  for (int rowIndex = 1; rowIndex <281; rowIndex ++) {
       currentRow = dataTypeSheet.getRow (rowIndex);
       cell_id_veicolo = currentRow.getCell (8); // Cella I
       id_veicolo.add (cell_id_veicolo.getStringCellValue ());
   }
       System.out.println (id_veicolo);
}


invece di 281 cosa dovrei inserire? dato che in Excel ci sono 281 record?

3 Risposte

  • Re: Dimensione della cella excel e java

    Il getLastRowNum() dello Sheet ma l'avevi già usato in un'altra discussione. Quindi quale sarebbe il dubbio?

    P.S. il size() delle collezioni non c'entra nulla con Excel.
  • Re: Dimensione della cella excel e java

    Il dubbio è questo:
    
    public void fillVeicoloId() {
    		for (int rowIndex = 1; rowIndex < 12; rowIndex++) {
    			currentRow = dataTypeSheet.getRow(rowIndex);
    			cell_id = currentRow.getCell(16); // Cella Q
    			veicoloId.add(cell_id.getStringCellValue());
    		}
    
    		System.out.println(veicoloId);
    	}
    
    
    risultato:

    [2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597]

    Vado a modificare:
    
    public void fillVeicoloId() {
    		for (int rowIndex = 1; rowIndex < dataTypeSheet.getLastRowNum(); rowIndex++) {
    			currentRow = dataTypeSheet.getRow(rowIndex);
    			cell_id = currentRow.getCell(16); // Cella Q
    			veicoloId.add(cell_id.getStringCellValue());
    		}
    
    		System.out.println(veicoloId);
    	}
    
    
    Risultato:
    Exception in thread "main" java.lang.NullPointerException
    at it.cliente.Cliente.fillVeicoloId(Cliente.java:112)
    at it.cliente.Test.main(Test.java:15)

    L'errore me lo da qua: veicoloId.add(cell_id.getStringCellValue().toString());
  • Re: Dimensione della cella excel e java

    Mi funziona, però quando vado ad eseguire, riconosce che sono 12, ma se modifico e ne tolgo 1
    
    
    public void fillTarga() {
    		for (int rowIndex = 1; rowIndex < dataTypeSheet.getPhysicalNumberOfRows(); rowIndex++) {
    			currentRow = dataTypeSheet.getRow(rowIndex);
    			cell_targa = currentRow.getCell(21); // Cella V
    			if( cell_targa != null)
    			targa.add(cell_targa.getStringCellValue());
    		}
    
    		System.out.println(targa);
    	}
    
    Error:
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 12, Size: 12
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at it.cliente.Confrontare.confrontaTargheVeicolo(Confrontare.java:97)
    at it.cliente.Test.main(Test.java:10)
Devi accedere o registrarti per scrivere nel forum
3 risposte