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

张开发
2026/4/24 1:53:26 15 分钟阅读

分享文章

若依框架实现Excel动态下拉(查库)
1.展示界面2.原理通过Java反射获取需要导出的指定类从类中获取需要数据源的指定字段即下拉框应该在哪个字段上再通过hutool工具包。里面有个方法可以为注解里面的元数据设置指定的值。2.1 Hutool工具包dependencygroupIdcn.hutool/groupIdartifactIdhutool-core/artifactIdversion5.8.11/version/dependency3.代码实现在ExcelUtil里面/** * 动态设置下拉框的值 * param adjustClass 修改指定类(需要在导出Excel类里面的指定类) * param combos 传入Combo的值 (下拉框的值从数据库中查询) * param fieldName 指定传入类的字段上面值 需要下拉框的字段 */publicvoidsetFiledCombo(ClassTadjustClass,String[]combos,StringfieldName){// 获取类的对象Field[]declaredFieldsadjustClass.getDeclaredFields();for(inti0;ideclaredFields.length;i){FielddeclaredFielddeclaredFields[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.如何使用// 项目名(库中拿)ListStringprojectNameService.getProjectName();// 调整项ListStringcostCollectTypeService2.getCostCollectType();ExcelUtil自己的指定类utilnewExcelUtil(自己的指定类.class);// 设置字段调整项目名称util.setFiledCombo(自己的指定类.class,projectName.toArray(newString[0]),下拉框的字段名);// 设置字段调整项目util.setFiledCombo(自己的指定类.class,costCollectType.toArray(newString[0]),下拉框的字段名2);// 导出util.importTemplateExcel(response,导出表的名字);5.总结通过Java的类反射和Hutool工具包完成了对指定字段上的注解的元数据进行修改。如果有错误麻烦指出小弟不才望跟佬学习。

更多文章