jar包:
org.apache.poi poi-ooxml 3.9
部分方法:
//获取表格 HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(filePath)));for (int i = 0; i < workbook.getNumberOfSheets(); i++) { //获取所有sheet表格内容 Sheet sheet=workbook.getSheetAt(i); //获取表格行数(无数据则返回-1,返回值为行标-1,用于循环读取) sheet.getLastRowNum(); //获取表格列数(无数据则返回-1,返回值为列标) sheet.getLastCellNum(); //获取有记录的行数(获取记录条数,数据中部有空行则会跳过,无法用于循环读取所有行数据) sheet.getPhysicalNumberOfRows(); //获取有数据的列数 sheet.getPhysicalNumberOfCells();}
//获取内容 for (int i = 1; i <= sheet.getLastRowNum(); i++) { //获取行(i为行标-1) Row curRow = sheet.getRow(i); for (int j = 0; j < sheet.getLastCellNum(); j++) { //获取对应单元格(j为列标-1) Cell cell = curRow.getCell(j); //获取单元格内容格式,用于不同格式的处理 cell.getCellType(); switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; // ... }
}
}
Cell的属性类型和对应值:
CellType | 类型 | 值 |
CELL_TYPE_NUMERIC | 数值型 | 0 |
CELL_TYPE_STRING | 字符串型 | 1 |
CELL_TYPE_FORMULA | 公式型 | 2 |
CELL_TYPE_BLANK | 空值 | 3 |
CELL_TYPE_BOOLEAN | 布尔型 | 4 |
CELL_TYPE_ERROR | 错误 | 5 |
以上皆为个人理解和查询结果,欢迎批评指正~~