Извлечение данных в столбцы электронных таблиц в Apache POI API - PullRequest
1 голос
/ 21 декабря 2011

Просто хочу убедиться в одном.

Есть ли в API-интерфейсе POI Apache встроенная коллекция / объект, например строка и ячейка, для столбца в электронной таблице?

Илия должен сам построить его и добавить все ячейки в столбце, чтобы выполнить сортировку и т. д.?Есть ли другой лучший способ сделать это?

1 Ответ

2 голосов
/ 22 декабря 2011

Формат Excel основывается на строках, а не на столбцах - файл записывается с каждой ячейкой в ​​строке по порядку, после чего следуют несколько бит информации о строке, затем по порядку ячейки следующей строки и т. Д.

Итак, если вы хотите сделать что-то по столбцам, вам нужно собрать клетки самостоятельно. Скорее всего, это будет что-то вроде:

int columnWanted = 3;
List<Cell> cells = new ArrayList<Cell>();

for (Row row : sheet) {
   Cell c = row.getCell(columnWanted);
   if (c == null || c.getCellType == Cell.CELL_TYPE_BLANK) {
      // Nothing in the cell in this row, skip it
   } else {
      cells.add(c);
   }
}

// Now use the cells array
...