EasyExcel导出带自定义下拉框数据的Excel模板

慈云数据 2024-05-09 技术支持 34 0

文章目录

  • 前言📝
  • 一、导入依赖
  • 二、创建导出工具
    • 1.创建模板实体类
    • 2.创建自定义注解
    • 3.添加动态选择接口
    • 4.EasyExcelUtil工具类
    • 三、导出、导入Excel接口
      • 1.导出接口
      • 2.导入接口
      • 3.导出结果
      • 总结

        前言📝

        在项目中导入excel时需要通过下拉框选择值传入,所以需要在导出模板的时候,把下拉框数据一起导出到excel中


        在这里插入图片描述

        一、导入依赖

            com.alibaba
            easyexcel
            ${easyexcel.version}
        
        
        2.2.10
        

        二、创建导出工具

        1.创建模板实体类

        创建Excel导出模板表头对应的实体类

        代码如下(示例):

        /**
         * 表头类
         *
         * @author wangjian
         * @date 2024-04-22 10:32
         */
        @Data
        @ColumnWidth(25)
        @HeadRowHeight(15)
        @ContentRowHeight(15)
        public class TravelGroupExportExcel implements Serializable {
            /**
             * 游客姓名
             */
            @ExcelProperty(index = 0, value = "*游客姓名")
            private string userName;
            /**
             * 国家地区
             */
            @ExcelProperty(index = 1, value = "*国家地区")
            @ExcelSelected(sourceClass = CountrySelected.class)
            private String countryAreaTypeStr;
            /**
             * 证件号
             */
            @ExcelProperty(index = 2, value = "*证件号")
            private String idCard;
            /**
             * 联系电话
             */
            @ExcelProperty(index = 3, value = "*联系电话")
            private String phone;
            /**
             * 优待身份
             */
            @ExcelProperty(index = 4, value = "优待身份(选填)")
            @ExcelSelected(sourceClass = IdEntitySelected.class)
            private String specialCode;
            /**
             * 模板版本
             */
            @ExcelProperty(index = 5, value = "模板版本")
            private String version;
        }
        

        2.创建自定义注解

        创建自定义注解,标注导出的列为下拉框类型,并为下拉框设置内容

        代码如下(示例):

        /**
         * 标注导出的列为下拉框类型,并为下拉框设置内容
         *
         * @author MaoDeShu
         * @date 2024-04-22 10:32
         */
        @Documented
        @Retention(RetentionPolicy.RUNTIME)
        @Target(ElementType.FIELD)
        public @interface ExcelSelected {
            /**
             * 固定下拉内容
             */
            String[] source() default {};
            /**
             * 动态下拉内容
             */
            Class
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon