若依框架实现Excel动态下拉(查库)

1.展示界面

2.原理

通过Java反射,获取需要导出的指定类,从类中获取需要数据源的指定字段(即下拉框应该在哪个字段上),

再通过hutool工具包。里面有个方法可以为注解里面的元数据设置指定的值。

2.1 Hutool工具包

java 复制代码
	 	<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-core</artifactId>
            <version>5.8.11</version>
        </dependency>

3.代码实现

在ExcelUtil里面

java 复制代码
 /**
     * 动态设置下拉框的值
     * @param adjustClass 修改指定类(需要在导出Excel类里面的指定类)
     * @param combos 传入Combo的值 (下拉框的值,从数据库中查询)
     * @param fieldName 指定传入类的字段上面值 (需要下拉框的字段)
     */
    public void setFiledCombo(Class<T> adjustClass, String[] combos, String fieldName){
        // 获取类的对象
        Field[] declaredFields = adjustClass.getDeclaredFields();
        for (int i = 0; i < declaredFields.length; i++) {
            Field declaredField = declaredFields[i];
            declaredField.setAccessible(true);
            if (declaredField.getAnnotation(Excel.class) == null) continue;
            if (declaredField.getName().equals(fieldName)) 
            // 给指定字段赋值
            AnnotationUtil.setValue(declaredField.getAnnotation(Excel.class),"combo",combos);
        }
    }

4.如何使用

java 复制代码
 		// 项目名(库中拿)
        List<String> projectName = Service.getProjectName();
        // 调整项
        List<String> costCollectType = Service2.getCostCollectType();
        ExcelUtil<自己的指定类> util = new ExcelUtil<>(自己的指定类.class);
        // 设置字段调整项目名称
        util.setFiledCombo(自己的指定类.class, projectName.toArray(new String[0]),"下拉框的字段名");
        // 设置字段调整项目 
        util.setFiledCombo(自己的指定类.class, costCollectType.toArray(new String[0]),"下拉框的字段名2");
        // 导出
        util.importTemplateExcel(response,"导出表的名字");

5.总结

通过Java的类反射和Hutool工具包完成了对指定字段上的注解的元数据进行修改。如果有错误,麻烦指出,小弟不才,望跟佬学习。

相关推荐
昵称画12 小时前
POC验证怎么设计用例?不走过程的实操要点
大数据·数据库·人工智能·低代码·excel
Wang's Blog12 小时前
Vibe Coding一人即团队系列62: Excel数据分析与可视化自动化
数据分析·自动化·excel
统计学小王子14 小时前
数学建模国赛倒计时5天——《软件工具(Excel)——国赛数据处理的第一道防线》
数学建模·excel
Am-Chestnuts15 小时前
用 DS随心转 把 AI 对话里的多组数据批量导出成 Excel
人工智能·excel
2601_9603563816 小时前
库存分析岗位秋招准备:SQL、Excel、WMS与供应链指标
数据库·sql·excel
统计学小王子17 小时前
数学建模国赛倒计时5天——《软件工具(Excel)——快捷键总结》
数学建模·excel
2601_9639067817 小时前
网页版 Excel 合并工具
excel·软件需求
疯狂小猫咪1 天前
中小培训机构教务数字化踩坑复盘|从 Excel 过渡到教务系统经验总结
小程序·excel
开开心心_Every1 天前
实现鼠标键盘动作录制与重复播放的工具
微信·jupyter·pycharm·pdf·计算机外设·word·excel
智途 Tech1 天前
2026年分析多个Excel、CSV和网页数据的AI工具清单:Tabbit 浏览器多源引用
大数据·人工智能·excel