code: public static void checkColumns(final Sheet sheet, final Class<?> recordClass,
              final List<RecordHeader> headers, final AnnotationReader reader, final Configuration config)
                      throws CellNotFoundException {
          
          List<FieldAccessor> properties = FieldAccessorUtils.getPropertiesWithAnnotation(recordClass, reader, XlsColumn.class);
          
          for(FieldAccessor property : properties) {
              final XlsColumn column = property.getAnnotation(XlsColumn.class).get();
              
              if(column.optional()){
                  continue;
              }
              
              String columnName = column.columnName();
              boolean find = false;
              for(RecordHeader info: headers){
                  if(Utils.matches(info.getLabel(), columnName, config)){
                      find = true;
                      break;
                  }
              }
              if(!find){
                  throw new CellNotFoundException(sheet.getSheetName(), columnName);
              }
          }
          
      }
docs: アノテーション{@link XlsColumn}の属性columnNameで指定した値が、ヘッダーセルに存在するかチェックする。
  @param sheet
  @param recordClass
  @param headers
  @param reader
  @param config
  @throws CellNotFoundException セルが見つからない場合