获取实体类中有@Excel注解字段中文及属性名

//实体类中声明
@Excel(name = "名称")
private String name;
 public static Map getExcelFields(Object obj) {
        //处理反射,带有顺序的map
        Map map = new LinkedHashMap<>();
        //List fieldList = TableInfoHelper.getAllFields(obj.getClass());
        List fieldList = getAllExcelFields(obj.getClass());
        for (Field field : fieldList) {
            //获取 TableField注解
//            TableField fieldAnno = field.getAnnotation(TableField.class);
//            if (fieldAnno != null) {
//                map.put(field.getName(), fieldAnno.value());
//            } else {
//                TableId tableId = field.getAnnotation(TableId.class);
//                if (tableId != null) {
//                    map.put(field.getName(), tableId.value());
//                }
//            }
            //获取注解,名字和和中文
            if(field.isAnnotationPresent(Excel.class)){
                Excel excel = field.getAnnotation(Excel.class);
                String name = field.getAnnotation(Excel.class).name();
                //英文为key,中文为value
                String key=field.getName();
                map.put(key,name);
            }
        }
        return map;
    }

你可能感兴趣的:(java,开发语言)