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