2012-09-14 15 views
5

Próbowałem znaleźć rozwiązanie, ale nic nie wymyśliło, które pasuje do mojego problemu. Używam JXL do czytania arkusza kalkulacyjnego Excela i przekształcania każdego wiersza w określony obiekt. Każda komórka w wierszu odpowiada właściwości obiektu, który tworzę. Mój arkusz kalkulacyjny ma 41 kolumn i po przeczytaniu 375 wierszy liczba komórek w rzędzie zmienia się z 41 na 32. Nie wiem, dlaczego.Czytanie programu Excel z JXL, liczba komórek w wierszu zmieniającym się między wierszami

Oto kod, gdzie jestem przelotowego wierszy i pobieranie komórek:

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

Reszta kodu nadal chwycić zawartość każdej komórki i przypisać je odpowiednio. Ale gdy próbuję uzyskać dostęp do komórki [32] w wierszu 376, otrzymuję wyjątek poza granicami.

Odpowiedz

2

Czy nie chodzi o to, że wszystko po tym, jak komórka [32] w tym wierszu jest pusta, a zatem komórka [32] (i więcej) w tablicy nie jest w ogóle tworzona? Właśnie zaczynam od jxl i myślę, że to właśnie widzę

+0

Mam takie samo doświadczenie jak @Niek, puste komórki wydają się zmieniać liczbę komórek w rzędzie. –

Powiązane problemy