//解析excel并解析
public static void main(String[] args) throws IOException {
//1.根据excel文件创建工作簿
Workbook wb = new XSSFWorkbook("D:\\excel\\poi\\demo.xlsx");
//2.获取sheet
Sheet sheetAt = wb.getSheetAt(0);//参数 索引
//3.获取sheet每一行,和每个单元格的内容
//sheetAt.getLastRowNum():得到的最后一行的索引
for (int rowNum = 0 ; rowNum <= sheetAt.getLastRowNum(); rowNum++ ) {
Row row = sheetAt.getRow(rowNum);
StringBuilder sb = new StringBuilder();
//row.getLastCellNum() 得到最后一行单元格的号码
for (int cellNum=2; cellNum < row.getLastCellNum(); cellNum++) {
//根据索引获取每一个单元格
Cell cell = row.getCell(cellNum);
//获取每个单元格的内容
Object value = getCellValue(cell);
sb.append(value).append("-");
}
System.out.println(sb.toString());
}
}
public static Object getCellValue(Cell cell) {
//1.获取单元格数据类型
CellType cellType = cell.getCellType();
//2.根据单元格数据类型获取数据
Object value = null;
switch (cellType) {
case STRING:
value = cell.getStringCellValue();
break;
case BOOLEAN:
value = cell.getBooleanCellValue();
break;
case NUMERIC:
if(DateUtil.isCellDateFormatted(cell)) {
//日期格式
value = cell.getDateCellValue();
} else {
//数字
value = cell.getNumericCellValue();
}
break;
case FORMULA: //公式
value = cell.getCellFormula();
break;
default:
break;
}
return value;
}
excel文件内容如下