Файлы Excel основаны на строках, а не на столбцах, поэтому единственный способ получить все значения в столбце - это просматривать каждую строку по очереди. Нет более быстрого способа добраться до столбцов, потому что ячейки в столбце не хранятся вместе.
Ваш код, вероятно, хочет выглядеть примерно так:
List<Double> values = new ArrayList<Double>();
for(Row r : sheet) {
Cell c = r.getCell(columnNumber);
if(c != null) {
if(c.getCellType() == Cell.CELL_TYPE_NUMERIC) {
valuesadd(c.getNumericCellValue());
} else if(c.getCellType() == Cell.CELL_TYPE_FORMULA && c.getCachedFormulaResultType() == Cell.CELL_TYPE_NUMERIC) {
valuesadd(c.getNumericCellValue());
}
}
}
Это даст вам все числовые значения в этом столбце.