diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index aecc0d81d..0014384cb 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -1675,9 +1675,26 @@ public class ExcelUtil if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) { Class clazz = o.getClass(); - Field field = clazz.getDeclaredField(name); - field.setAccessible(true); - o = field.get(o); + Field field = null; + for (; clazz != Object.class; clazz = clazz.getSuperclass()) + { + try + { + field = clazz.getDeclaredField(name); + break; + } + catch (NoSuchFieldException e) + { + } + } + if (field != null) + { + field.setAccessible(true); + o = field.get(o); + } else + { + throw new NoSuchFieldException(name); + } } return o; }