前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >若依框架,excel下载模板动态设置下拉框

若依框架,excel下载模板动态设置下拉框

原创
作者头像
在下是首席架构师
发布2024-04-13 14:07:14
2040
发布2024-04-13 14:07:14
举报
文章被收录于专栏:从入门到出门从入门到出门

通过反射,动态修改field的注解里头的属性值

代码语言:java
复制
        //动态设置用户类型下拉框
        ExcelUtil<ImportBO> util = new ExcelUtil<>(ImportBO.class);
        Class<ImportBO> clazz = util.clazz;
        Field field = clazz.getDeclaredField("userType");
        //@Excel注解
        Excel excelInterface = field.getAnnotation(Excel.class);
        InvocationHandler h = Proxy.getInvocationHandler(excelInterface);
        // 获取 AnnotationInvocationHandler 的 memberValues 字段
        Field hField = h.getClass().getDeclaredField("memberValues");
        // 因为字段是 private 修饰,所以要打开权限
        hField.setAccessible(true);
        // 获取 memberValues
        Map<String, Object> memberValues = (Map<String, Object>) hField.get(h);
        String[] comboArray = new String[nameList.size()];
        for (int i = 0; i < nameList.size(); i++) {
            comboArray[i] = nameList.get(i);
        }
        memberValues.put("combo", comboArray);
代码语言:java
复制
     /**
     * 用户类型集合
     */
    @Excel(name = "用户类型", combo={""})
    private String userType;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com