EasyExcelFactory 导入导出功能的实战使用

EasyExcelFactory 导入导出功能的实战使用分享:

1、jar包引入

        <!-- 阿里巴巴Excel处理--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.6</version></dependency>

2、excel文档准备

注意:首行名称要和后面实体类里注解的名称保持一样,否则失效。

3、实体类

@Data
@HeadRowHeight(20)
@ColumnWidth(20)
public class DemoData {@ExcelProperty("id")private Long id;@ExcelProperty("name")private String name;@ExcelProperty("model")private String model;@ExcelProperty("tail")private String tail;}

4、控制层接口样例

 @PostMapping("/import/userBox")public ResponseResult<Boolean> importUserBox(@RequestParam("file") MultipartFile file,@RequestParam("start") Integer  start,@RequestParam(value = "sheetNo", required = false, defaultValue = "0") Integer sheetNo) {try {UserBoxConfigListener listener = new UserBoxConfigListener();EasyExcelFactory.read(file.getInputStream(), UserBoxConfigBo.class, listener).sheet(sheetNo).headRowNumber(start);List<UserBoxConfigAddReq> list = listener.getList();return ResponseResult.success(userBoxConfigService.batchAdd(list));} catch (Exception e) {e.printStackTrace();return ResponseResult.error(e.getMessage());}}

5、监听类继承


@Slf4j
public class UserBoxConfigListener extends AnalysisEventListener<UserBoxConfigBo> {private List<UserBoxConfigAddReq> list;public UserBoxConfigListener() {list = new ArrayList<>();}@Overridepublic void invoke(UserBoxConfigBo data, AnalysisContext context) {UserBoxConfigAddReq item = BeanUtil.copy(data, UserBoxConfigAddReq.class);list.add(item);}@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {log.info("表格成功解析");}public List<UserBoxConfigAddReq> getList() {return list;}
}

 

6、postman 接口调用

调用后成功解析获取到数据。

参考文章:基本使用

基本配置

使用演示

到此、告一段落,后期我们会分享其高级用法,敬请期待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/424268.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技、文化与旅游的融合创新:智慧文旅的未来之路

在当今社会&#xff0c;科技、文化与旅游的融合已经成为文旅产业转型升级的重要趋势。这种融合不仅有助于提升文旅产业的核心竞争力&#xff0c;更有助于推动产业的数字化转型和可持续发展。 本文将深入探讨科技、文化与旅游的融合创新&#xff0c;以及智慧文旅场景的解决方案…

快速上手MyBatis Plus:简化CRUD操作,提高开发效率!

MyBatisPlus 1&#xff0c;MyBatisPlus入门案例与简介1.1 入门案例步骤1:创建数据库及表步骤2:创建SpringBoot工程步骤3:勾选配置使用技术步骤4:pom.xml补全依赖步骤5:添加MP的相关配置信息步骤6:根据数据库表创建实体类步骤7:创建Dao接口步骤8:编写引导类步骤9:编写测试类 1.2…

回调地狱 与 Promise(JavaScript)

目录捏 前言一、异步编程二、回调函数三、回调地狱四、Promise1. Promise 简介2. Promise 语法3. Promise 链式 五、总结 随着 Node v7 的发布&#xff0c;越来越多的人开始研究据说是异步编程终级解决方案的 async/await。而 JavaScript 的 async/await 实现&#xff0c;也离不…

RK3568笔记十一:mpp编解码

若该文为原创文章&#xff0c;转载请注明原文出处。 主要是想测试MPP的解码&#xff0c;为后续做测试。 一、环境 1、平台&#xff1a;rk3568 2、开发板:ATK-RK3568正点原子板子 3、环境&#xff1a;buildroot 二、编译 使用的是正点原子提供的虚拟机&#xff0c;搭建好环…

(十二)Head first design patterns代理模式(c++)

代理模式 代理模式&#xff1a;创建一个proxy对象&#xff0c;并为这个对象提供替身或者占位符以对这个对象进行控制。 典型例子&#xff1a;智能指针... 例子&#xff1a;比如说有一个talk接口&#xff0c;所有的people需要实现talk接口。但有些人有唱歌技能。不能在talk接…

redis高可用之主从部署

文章目录 前言1. 同步以及命令传播1.1 同步1.2 命令传播 2. 解决从服务器断线重连2.1 解决方案 3. PSYNC命令4. 复制步骤1:设置主服务器的地址和端口步骤2:建立套接字连接 ——其实就是建立TCP连接步骤3:发送PING命令步骤4:身份验证步骤5:发送端口信息步骤6:同步步骤7:命令传播…

【学习】FPN特征金字塔

论文&#xff1a;Feature Pyramid Networks for Object Detection &#xff08;CVPR 2016) 参考blog&#xff1a;https://blog.csdn.net/weixin_55073640/article/details/122627966 参考视频讲解&#xff1a;添加链接描述 卷积网络中&#xff0c;深层网络容易响应语义特征&am…

对 MODNet 其他模块的剪枝探索

写在前面 先前笔者分享了《对 MODNet 主干网络 MobileNetV2的剪枝探索》&#xff0c;没想到被选为了CSDN每天值得看系列&#xff0c;因为笔者开设的专栏《MODNet-Compression探索之旅》仅仅只是记录笔者在模型压缩领域的探索历程&#xff0c;对此笔者深感荣幸&#xff0c;非常…

Web3艺术市场:NFT与数字创作的结合

在数字时代&#xff0c;随着区块链技术的崛起&#xff0c;一种新型数字资产&#xff0c;非同质化代币&#xff08;NFT&#xff09;&#xff0c;正逐渐改变传统艺术市场的格局。这种数字化的艺术品售卖方式成为了Web3艺术市场的代表&#xff0c;推动着数字创作与艺术市场的结合。…

(十)Head first design patterns组合模式(c++)

组合模式 组合模式在参考链接中已经讲得很好了&#xff0c;这里只简单讲讲就好。 组合模式的意图是表达部分-整体层次结构。 当你需要管理一个组合对象&#xff0c;又要管理这个组合对象的单个对象。这个时候就可以让这个组合对象和单个对象继承同一个基类&#xff0c;以便用…

BP蓝图映射到C++笔记1

教程链接&#xff1a;示例1&#xff1a;CompleteQuest - 将蓝图转换为C (epicgames.com) 1.常用的引用需要记住&#xff0c;如图所示。 2.蓝图中可以调用C函数&#xff0c;也可以实现C函数 BlueprintImplementableEvent:C只创建&#xff0c;不实现&#xff0c;在蓝图中实现 B…

网络安全人员一定要知道的Metasploit渗透框架!

简介 Metasploit是一款开源安全漏洞检测工具&#xff0c;附带数百个已知的软件漏洞&#xff0c;并保持频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。 Metasploit官网&#xff1a;www.metasploit.com/ Metasploit的Github仓库地址&#xff1a;githu…