code: public static List<ExcelHeader> getHeaderList(Class<?> clz) throws Excel4JException {
  
          List<ExcelHeader> headers = new ArrayList<>();
          List<Field> fields = new ArrayList<>();
          for (Class<?> clazz = clz; clazz != Object.class; clazz = clazz.getSuperclass()) {
              fields.addAll(Arrays.asList(clazz.getDeclaredFields()));
          }
          for (Field field : fields) {
              // 是否使用ExcelField注解
              if (field.isAnnotationPresent(ExcelField.class)) {
                  ExcelField er = field.getAnnotation(ExcelField.class);
                  try {
                      headers.add(new ExcelHeader(
                              er.title(),
                              er.order(),
                              er.writeConverter().newInstance(),
                              er.readConverter().newInstance(),
                              field.getName(),
                              field.getType()
                      ));
                  } catch (InstantiationException | IllegalAccessException e) {
                      throw new Excel4JException(e);
                  }
              }
          }
          Collections.sort(headers);
          return headers;
      }
docs: <p>根据JAVA对象注解获取Excel表头信息</p>
  
  @param clz 类型
  @return 表头信息