This commit is contained in:
2026-09-07 16:08:05 +08:00
parent 397e9f3b62
commit 2e7ab6f508
14 changed files with 320 additions and 67 deletions
@@ -128,12 +128,20 @@ public class ImportFailureExcelUtil {
}
private static List<Field> excelFields(Class<?> excelClass) {
return Arrays.stream(excelClass.getDeclaredFields())
.filter(field -> field.getAnnotation(ExcelProperty.class) != null)
.filter(field -> field.getAnnotation(ExcelIgnore.class) == null)
.filter(field -> !Objects.equals(field.getName(), ERROR_MESSAGE_FIELD))
.filter(field -> !Objects.equals(field.getName(), FAILURE_REASON_FIELD))
.toList();
List<Class<?>> classHierarchy = new ArrayList<>();
for (Class<?> current = excelClass; current != null; current = current.getSuperclass()) {
classHierarchy.add(0, current);
}
List<Field> fields = new ArrayList<>();
for (Class<?> current : classHierarchy) {
Arrays.stream(current.getDeclaredFields())
.filter(field -> field.getAnnotation(ExcelProperty.class) != null)
.filter(field -> field.getAnnotation(ExcelIgnore.class) == null)
.filter(field -> !Objects.equals(field.getName(), ERROR_MESSAGE_FIELD))
.filter(field -> !Objects.equals(field.getName(), FAILURE_REASON_FIELD))
.forEach(fields::add);
}
return fields;
}
private static List<List<String>> buildHead(List<Field> excelFields) {