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()); } }}然后,您将获得该列中的所有数字单元格值。



