目标/背景:

File为一个Excel文件,获取指定单元格内容

excel几个名词:sheet 排 列

  • 创建流
  • 使用流创建Workbook类
  • 使用Workbook创建Sheet
  • 使用Sheet获取指定排,创建Row
  • 使用排得到指定列的单元格,创建Cell
  • 返回单元格内容
//File是从文件夹中获取的,获取途径不限
File file = list.get(0);
InputStream input = new FileInputStream(file);
Workbook workbook = WorkbookFactory.create(input);
//sheet页从0开始操作
Sheet sheet = workbook.getSheetAt(0);
Row row = sheet.getRow(rowNum);
Cell cell = row.getCell(columnNum);
//设置指定编码,防止乱码
cell.setCellType(CELL_TYPE_STRING);
cell.getStringCellValue();

实际代码我们可以将获取单元格内容封装成方法,代码利用率会变高

//file得是excel
public void readExcel(File file){
  InputStream input = new FileInputStream(file);
	Workbook workbook = WorkbookFactory.create(input);
  //获取excel下第一个sheet的第一行第一列的单元格内容
  String value = getExcelValuePortrait(0,1,1);
}

//封装的方法
private String getExcelValuePortrait(int sheetNum, int rowNum, int columnNum) {
  		 //sheet页从0开始操作
  			Sheet sheet = workbook.getSheetAt(sheetNum);
        Row row = sheet.getRow(rowNum);
        Cell cell = row.getCell(columnNum);
        cell.setCellType(CELL_TYPE_STRING);
        return cell.getStringCellValue();
    }