| package com.doumee.core.annotation.excel; | 
|   | 
| import org.apache.poi.ss.usermodel.HorizontalAlignment; | 
| import org.apache.poi.ss.usermodel.IndexedColors; | 
|   | 
| import java.lang.annotation.*; | 
|   | 
| /** | 
|  * 标记为Excel列 | 
|  * @author Eva.Caesar Liu | 
|  * @date 2023/02/14 11:14 | 
|  */ | 
| @Inherited | 
| //@Target(ElementType.FIELD) | 
| @Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) | 
| @Retention(RetentionPolicy.RUNTIME) | 
| public @interface ExcelColumn { | 
|     /** | 
|      * 导出字段名(默认调用当前字段的“get”方法,如指定导出字段为对象,请填写“对象名.对象属性”,例:“area.name”、“office.name”) | 
|      */ | 
|     String value() default ""; | 
|     /** | 
|      * 字段类型(0:导出导入;1:仅导出;2:仅导入) | 
|      */ | 
|     int type() default 0; | 
|     /** | 
|      * 列名 | 
|      */ | 
|     String name(); | 
|     /** | 
|      * 父级列名 | 
|      */ | 
|     String parentName() default  ""; | 
|   | 
|     /** | 
|      * 列宽(单位为字符),-1自动计算 | 
|      */ | 
|     int width() default -1; | 
|   | 
|     /** | 
|      * 排序,值越小越靠前,-1按字段反射顺序排序 | 
|      */ | 
|     int index() default -1; | 
|   | 
|     /** | 
|      * 对齐方式 | 
|      */ | 
|     HorizontalAlignment align() default HorizontalAlignment.LEFT; | 
|   | 
|     /** | 
|      * 列背景色 | 
|      */ | 
|     IndexedColors backgroundColor() default IndexedColors.GREY_25_PERCENT; | 
|   | 
|     /** | 
|      * 列数据单元格背景色 | 
|      */ | 
|     IndexedColors dataBackgroundColor() default IndexedColors.WHITE; | 
|   | 
|     /** | 
|      * 字体颜色 | 
|      */ | 
|     IndexedColors color () default IndexedColors.BLACK; | 
|   | 
|     /** | 
|      * 字体大小(像素) | 
|      */ | 
|     short fontSize () default 12; | 
|   | 
|     /** | 
|      * 粗体 | 
|      */ | 
|     boolean bold () default false; | 
|   | 
|     /** | 
|      * 斜体 | 
|      */ | 
|     boolean italic () default false; | 
|   | 
|     /** | 
|      * 值映射,如0=女;1=男 | 
|      */ | 
|     String valueMapping() default ""; | 
|   | 
|     /** | 
|      * 数据前缀 | 
|      */ | 
|     String prefix() default ""; | 
|   | 
|     /** | 
|      * 数据后缀 | 
|      */ | 
|     String suffix() default ""; | 
|   | 
|     /** | 
|      * 日期格式 | 
|      */ | 
|     String dateFormat() default "yyyy-MM-dd"; | 
|   | 
|     /** | 
|      * 自定义数据处理器 | 
|      */ | 
|     Class handler() default ExcelDataHandlerAdapter.class; | 
|   | 
|     /** | 
|      * 自定义数据处理器参数 | 
|      */ | 
|     String[] args() default {}; | 
|   | 
|     /** | 
|      * 反射类型 | 
|      */ | 
|     Class<?> fieldType() default Class.class; | 
|   | 
|     /** | 
|      * 字段归属组(根据分组导出导入) | 
|      */ | 
|     int[] groups() default {}; | 
|   | 
| } |