POI Apache чтение *.xls в избранное  msdn  новое ответить горячее всё    Оценить +1123x:) +-   подписка   модер. 
От: newpy 
Дата: 20.11.09 19:15
Доброго времени суток.
Пытаюсь прочитать лист из excel книги и загнать данные всех ячеек в ArrayList
Прочитав доку и тотуриал, приступил.
в итоге выдает ошибку на следующем куске кода:

for(Row row : sheet){
    this.dataRow = null;

    for(Cell cell : row){
        if (cell != null){
            CellReference cellRef = new CellReference(rownum, cellnum);
            switch(cell.getCellType()){
                case Cell.CELL_TYPE_STRING:
                    this.dataRow.add(cell.getRichStringCellValue().getString());
                    break;
                case Cell.CELL_TYPE_NUMERIC:
                    this.dataRow.add(cell.getNumericCellValue());
                    break;
                default:
                    this.dataRow.add("");
            }
        }
        cellnum++;
    }
}


java.lang.NullPointerException
(на строчке this.dataRow.add(cell.getRichStringCellValue().getString()); )

если не по делу: не засоряй канал...
Re: POI Apache чтение *.xls в избранное  msdn  новое ответить    Оценить +1123x:) +-   модер. 
От: Blazkowicz модератор 
Дата: 20.11.09 19:46
Здравствуйте, newpy, Вы писали:

N>Пытаюсь прочитать лист из excel книги и загнать данные всех ячеек в ArrayList

N>Прочитав доку и тотуриал, приступил.
N>в итоге выдает ошибку на следующем куске кода:

N>

N>java.lang.NullPointerException
N> (на строчке this.dataRow.add(cell.getRichStringCellValue().getString()); )


Продолжайте читать доки. В частности доку к классу NullPointerException. Так же разберитесь с отладчиком.
ICQ:#121613464
Re[2]: POI Apache чтение *.xls в избранное  msdn  новое ответить    Оценить +1123x:) +-   модер. 
От: newpy 
Дата: 20.11.09 19:58
Здравствуйте, Blazkowicz, Вы писали:

B>Продолжайте читать доки. В частности доку к классу NullPointerException. Так же разберитесь с отладчиком.


В моем понимании ошибка NullPointerException может выскочить, если значение cell == null
Но в отладчике явно указан тип String


cell
    _stringValue
        _field_3_string == String == "Some String"
если не по делу: не засоряй канал...
Re: POI Apache чтение *.xls в избранное  msdn  новое ответить    Оценить +1123x:) +-   модер. 
От: Other Sam 
Дата: 20.11.09 20:19
On 11/21/2009 01:15 AM, newpy wrote:
> Доброго времени суток.
> Пытаюсь прочитать лист из excel книги и загнать данные всех ячеек в ArrayList
> Прочитав доку и тотуриал, приступил.
> в итоге выдает ошибку на следующем куске кода:
>
>
> for(Row row : sheet){
>      this.dataRow = null;
>
>      for(Cell cell : row){
>          if (cell != null){
>              CellReference cellRef = new CellReference(rownum, cellnum);
>              switch(cell.getCellType()){
>                  case Cell.CELL_TYPE_STRING:
>                      this.dataRow.add(cell.getRichStringCellValue().getString());
>                      break;
>                  case Cell.CELL_TYPE_NUMERIC:
>                      this.dataRow.add(cell.getNumericCellValue());
>                      break;
>                  default:
>                      this.dataRow.add("");
>              }
>          }
>          cellnum++;
>      }
> }
>

>
>

> java.lang.NullPointerException
> (на строчке this.dataRow.add(cell.getRichStringCellValue().getString()); )

>
>
>
Почитай про getRichStringCellValue(), кажется она выдает null для пустых
ячеек. И еще поищи у cell, кажется у него есть метод позволяющий
определить, что ячейка пустая.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: POI Apache чтение *.xls в избранное  msdn  новое ответить    модер. 
От: Аноним 747 
Дата: 20.11.09 20:27
Мне кажется, Вам указывали на this.dataRow.
Re[2]: POI Apache чтение *.xls в избранное  msdn  новое ответить    Оценить +1123x:) +-   модер. 
От: newpy 
Дата: 20.11.09 20:34
Здравствуйте, Other Sam, Вы писали:

OS>Почитай про getRichStringCellValue(), кажется она выдает null для пустых

OS>ячеек. И еще поищи у cell, кажется у него есть метод позволяющий
OS>определить, что ячейка пустая.

С этим я разобрался.
Ошибка выпадает при не пустом значении ячейки.
если не по делу: не засоряй канал...
Re[4]: POI Apache чтение *.xls в избранное  msdn  новое ответить    Оценить +1123x:) +-   модер. 
От: newpy 
Дата: 20.11.09 20:45
Здравствуйте, Аноним, Вы писали:

А>Мне кажется, Вам указывали на this.dataRow.


Спасибо, что поставили на путь истинный. Не определил я ArrayList и сам себя запутал.
если не по делу: не засоряй канал...