当前位置: 首页 > news >正文

基于EasyExcel、FastExcel封装spring boot starter

项目基于 https://github.com/pig-mesh/excel-spring-boot-starter 调整,可以先查看 官方文档 获取基础使用方法,本文只介绍新增的功能。

此项目底层基于 FastExcel 实现 Excel 的读写。

此项目1.2.10 & 3.1.3 版本及之前版本,底层基于 EasyExcel 实现 Excel 的读写。

版本更新日志可查看:CHANGELOG.md

0 maven仓库

项目已上传至 maven 仓库,直接引入即可使用,最新版本可以查询中央仓库

版本支持
3.x.x适配 SpringBoot3.x
1.x.x适配 SpringBoot2.x
<dependency><groupId>com.kangaroohy</groupId><artifactId>excel-spring-boot-starter</artifactId><version>${lastVersion}</version>
</dependency>

1 配置增强

1.1 密码

支持全局yaml配置(kangaroohy.excel.password)

1.2 水印

支持全局yaml配置(kangaroohy.excel.water-mark),也支持单个方法配置

@RequestMapping("/water-mark")
@RestController
public class ExcelWaterMarkTestController {@ResponseExcel(name = "用户记录", sheets = {@Sheet(sheetName = "用户信息")}, waterMark = "这是水印")@GetMappingpublic List<User> exportWithWaterMark() {List<User> userList = new ArrayList<>();for (int i = 0; i < 100; i++) {userList.add(User.builder().id((long) i).username("username" + i).password("password" + i).build());}return userList;}
}

2 注解增强

2.1 添加批注

在需要添加批注的属性上配置即可


@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelNotation {/*** 文本内容*/String value() default "";
}

2.2 标识是否必填

此处只是简单的改变表头字体颜色,醒目提醒用户字段必填

@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelRequired {/*** 字体颜色*/IndexedColors frontColor() default IndexedColors.RED;
}

2.3 设置单元格下拉框

可用于提醒用户,此单元格的可选值

@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelSelector {/*** 固定数据*/String[] value() default {};/*** 字典key*/String dictKeyValue() default "";/*** 服务类,需要交给spring管理,如 @Service,如果只有一个实现类时,此属性可以不设置*/Class<? extends ExcelSelectorService> serviceClass() default ExcelSelectorService.class;/*** 设置下拉框的起始行,默认为表头的下一行*/int firstRow() default -1;/*** 设置下拉框的结束行,默认为int最大值,65535*/int lastRow() default 0x10000;
}

2.4 导入时校验数据是否重复

数据导入解析时校验数据使用

@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelUniqueFields {/*** 该组内所有字段组合保证唯一性** @return*/String[] groupUnique() default {};/*** 该组内每个字段单独保证唯一,字段之间可以允许重复** @return*/String[] singleUnique() default {};/*** 空值不做校验,false时 null 也会当成值的一种参与校验** @return*/boolean skipNull() default true;
}

以上所有更新的一个集中演示
在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/423619.html

相关文章:

  • Arpg第五节——方法
  • 太原网站搭建推广服装设计网站模板下载
  • 人工智能-机器学习day3
  • 第四部分:VTK常用类详解(第113章 vtkTensorGlyph张量符号化类)
  • 中国平安官方网站心态建设课件做网站的学校
  • 翻译插件分享
  • 网页设计广州网站购物型网站用dw做
  • 水平扩展与垂直扩展
  • React基础到进阶
  • cvat使用
  • 东莞小学网站建设空间设计说明怎么写
  • 万网网站后台管理系统网站策划招聘
  • 网站首页静态化代码网站建设架构选型
  • Stable Diffusion DALL-E Imagen背后共同套路
  • 网上商城html模板无锡seo关键词排名
  • 天津 网站策划湛江专门做网站
  • 【Linux】进程的概念和状态
  • 【完整源码+数据集+部署教程】无人机场景城市环境图像分割系统: yolov8-seg-timm
  • 鸿蒙NEXT WLAN服务开发指南:从STA模式到多设备联网实战
  • 网站建设开票项目是什么意思昭通做网站
  • 岳阳网站建设设计如何做网站家具导购
  • 做网站推广有什么升职空间怎么做才能设计出好的网站
  • ZStack Cloud v5.4.0 LTS让运维自动驾驶,让合规开箱即用
  • 10-RAG(Retrieval Augmented Generation)
  • S7-200 SMART 开放式用户通信(OUC)深度指南:TCP/ISO-on-TCP(上)
  • 03_交易的核心:我如何驾驭趋势与反趋势
  • 比较网站建设长春建设网站制作
  • 丢件预警!快递批量查询工具,未更新物流自动提醒,避免损失
  • 申请建设部门网站的报告用discuz做的门户网站
  • 厦门网站建设多少钱网站设计登录界面怎么做