2012-09-14 4 views
5

Ho tentato di trovare già una soluzione, ma non è risultato nulla che corrisponda al mio problema. Sto usando JXL per leggere un foglio di calcolo Excel e convertire ogni riga in un oggetto specificato. Ogni cella all'interno di una riga corrisponde a una proprietà dell'oggetto che sto creando. Il mio foglio di calcolo ha 41 colonne e dopo aver letto 375 righe, il numero di celle per riga cambia da 41 a 32. Non riesco a capire perché.Lettura di Excel con JXL, numero di celle per riga che cambia tra le righe

Ecco il codice in cui sto scorrendo le righe e il recupero delle cellule:

w = Workbook.getWorkbook(inputWorkbook); 
    // Get the first sheet 
    Sheet sheet = w.getSheet(0); 
    // Loop over first 10 column and lines 

    for (int row=1; row < sheet.getRows();row++) 
    { 
     EventData event = new EventData(); 
     // we skip first row bc that should be header info 
     //now iterate through columns in row 
     try 
     { 
      Cell[] cell = sheet.getRow(row); 

      event.Name = cell[0].getContents(); 
      event.Location = cell[1].getContents(); 

Il resto del codice continua ad afferrare il contenuto di ogni cella e assegnarli conseguenza. Ma quando si tenta di accedere alla cella [32] sulla riga 376, ottengo un'eccezione fuori dai limiti.

risposta

2

Potrebbe non essere solo che tutto dopo la cella [32] su quella riga è vuoto e quindi le celle [32] (e successive) nell'array non vengono create affatto? Sto iniziando ora con jxl e penso che sia quello che sto vedendo

+0

Ho la stessa esperienza di @Niek, le celle vuote sembrano cambiare il numero di celle di una riga. –