code: public String getCellValue(int rowNumber, int cellNumber) {
          String result;
          checkRowAndCell(rowNumber, cellNumber);
          Sheet sheet = this.workbook.getSheet(this.sheetName);
          Row row = sheet.getRow(--rowNumber);
          Cell cell = row.getCell(--cellNumber);
          switch (cell.getCellTypeEnum()) {
              case BLANK:
                  result = cell.getStringCellValue();
                  break;
              case BOOLEAN:
                  result = String.valueOf(cell.getBooleanCellValue());
                  break;
              case ERROR:
                  result = String.valueOf(cell.getErrorCellValue());
                  break;
              case FORMULA:
                  result = cell.getCellFormula();
                  break;
              case NUMERIC:
                  if (DateUtil.isCellDateFormatted(cell)) {
                      result = format.format(cell.getDateCellValue());
                  } else {
                      result = String.valueOf(cell.getNumericCellValue());
                  }
                  break;
              case STRING:
                  result = cell.getRichStringCellValue().getString();
                  break;
              default:
                  result = cell.getStringCellValue();
                  break;
          }
          return result;
      }
docs: 获取指定单元格的值
  
  @param rowNumber  行数，从1开始
  @param cellNumber 列数，从1开始
  @return 该单元格的值