easyExcel快速入门

news/2024/5/12 11:45:33

目录

🧂1.简单介绍

🌭2.快速入门

🥓1.导入依赖

🍿2.导出到excel

🎏3.读入数据 

🎉4.下载 


1.简单介绍

传统操作Excel大多都是利用Apach POl进行操作的,但是POI框架并不完善,使用过程非常繁琐且有较多的缺陷:

  • 动态操作Excel非常繁琐,对于新手来说,很难在短时间内上手
  • 读写时需要占用较大的内存,当数据量大时容易发生内存溢出问题(OOM)

基于上述原因,阿里开源出一款易于上手,且比较节省内存的Excel框架: EasyExcel

官网:官网连接

2.快速入门

1.导入依赖

            <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.4</version></dependency>

注意:该版本与JDK8较为契合,高版本的JDK可能会出现兼容性问题;

2.导出到excel

  • 1.创建实体类测试
@Data
public class User {@ExcelProperty(value = {"用户信息","姓名"},index = 0)private String userName;@ExcelProperty(value = {"用户信息","密码"},index = 1)private String password;@ExcelProperty(value = {"用户信息","年龄"},index = 2)private Integer age;@ExcelProperty(value = {"用户信息","年纪"},index = 4)private Double grade;@DateTimeFormat("yyyy/MM/dd")@ExcelProperty(value = {"用户信息","日期"},index = 3)private Date time;
}

 使用@ExcelProperty自定义表头

value属性:相同的值标记为统一单元格下

index:表示在第几列显示

受用@DateTimeFormat指定日期格式

  • 2.初始化集合

创建测试对象,封装到集合之中

 /*** 初始化集合* @return*/@Testpublic List<User> init() {ArrayList<User> users = new ArrayList<>();for (int i = 0; i < 10; i++) {User user = new User();user.setAge(19 + i);user.setUserName("tom" + i);user.setPassword("666"+i);user.setGrade(79.5 + i);user.setTime(new Date());users.add(user);}return users;}
  • 3.导出数据

3.读入数据 

   /*** 从excel中读取数据*/@Testpublic void test02() {ArrayList<User> users = new ArrayList<>();EasyExcel.read("E:\\桌面\\excel\\test01.xls", User.class, new AnalysisEventListener<User>() {/*** 逐行读取excel内容,并封装* @param data* @param analysisContext*/@Overridepublic void invoke(User data, AnalysisContext analysisContext) {users.add(data);}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {System.out.println("读取完毕~~");}}).sheet().doRead();Iterator<User> iterator = users.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}}

4.下载 

参照官网即可


http://www.mrgr.cn/p/53774332

相关文章

C语言学习/复习36

一、程序的环境与预处理 二、翻译环境与执行环境 三、运行环境 四、预编译(预处理)详解

docker 基本命令

目录 一、docker 镜像操作命令 1.1.查询软件镜像 1.2.docker pull&#xff1a;下载镜像 1.3.docker push&#xff1a;上传镜像 1.4.docker images&#xff1a;查看本地镜像 1.5.docker inspect &#xff1a;获取镜像详细信息 1.6.docker tag&#xff1a;添加镜像标签 …

spring boot3单模块项目工程搭建-上(个人开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 上文衔接 常规目录创建 common目录 exception.handle目录 result.handle目录 controller目录 service目录 mapper目录 entity目录 test目录 写在最后 写在前面 本文…

url规则

uniapp的url最后加了斜杠,如同,就不能生效了. 与之相对的django必须最后加斜杠,否则报错

英智数字孪生机器人解决方案,赋能仓库物流模式全面升级

工业机械臂、仓储机器人、物流机器人等模式的机器人系统在现代产业中扮演着愈发重要的角色&#xff0c;他们的发展推动了自动化和智能化水平的提高&#xff0c;有助于为制造业、物流业、医疗保健业和服务业等行业创造新效率并提升人们的生活质量。 行业面临的挑战 机器人开发、…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具&#xff0c;但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件&#xff0c;但它本身并不进行压缩&#xff0c;而是通常与 gzip 或 bzip2 等压缩工具一起使…

学习STM32第十六天

RTC实时时钟 一、简介 RTC是一个独立的BCD格式定时器&#xff0c;提供一个时钟日历&#xff0c;两个可编程报警中断&#xff0c;一个具有中断功能周期性可编程唤醒标志&#xff0c;RTC和时钟配置系统处于后备区域。 通过两个32位寄存器以BCD格式实现秒、分钟、小时&#xff08…

SAP-ERP TM运输管理模块详解-1

简介 SAP中的运输功能(即TM模块,属于SD的子模块)是后勤执行的一部分,用于自动计算交货成本。也就是说,SAP可以让系统自动对销售发货的商品计算运费,对于运费占这个成本很大比重的销售模式,可以使用该功能。运输功能相对于SD其他模块,相对比较独立的,应用面不是很广。其…

新时代凌迟:考研

我不喜欢上班&#xff0c;但我很欣赏老板的品味&#xff0c;因为咱们公司竟然还在订阅报纸&#xff0c;而且只有一份&#xff0c;《中国青年报》。 这份报纸我最喜欢看的是“冰点周刊”专栏&#xff0c;因为这个栏目能让读者相信&#xff1a;报纸远远可以超越一天的生命。 昨天…

【Linux 进程间通信】管道

文章目录 1.为什么操作系统需要向用户提供进程间通信方式&#xff1f;2.进程间通信的种类3.管道3.1管道的作用3.2管道的本质3.3管道的通信原理3.4管道的分类 1.为什么操作系统需要向用户提供进程间通信方式&#xff1f; ①&#x1f34e;资源共享&#xff1a;有的时候两个进程需…

oracle操作系统OS认证和密码文件认证

1 说明 1.1 常见认证方式 Oracle登录认证方式主要涉及到如何验证用户身份以访问数据库。Oracle数据库提供了多种认证机制来确保数据的安全性和访问控制&#xff0c;每种方式都有其特定的使用场景和安全性考虑。以下是Oracle中常见的登录认证方式&#xff1a; 1、基于操作系统…

拉格朗日(Lagrange)中值定理

preamble罗尔中值定理是理解拉格朗日中值定理的基础罗尔中值定理是拉格朗日中值定理的1个特殊情况泰勒中值定理是拉格朗日中值定理的推广definition 若函数\(f(x)\)满足下列条件:\(f(x)\) 在闭区间\([a,b]\)上连续 \(f(x)\) 在闭区间\((a,b)\)上可导则在\((a,b)\)内至少存在一…

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface &#xff08;KCLI&#xff09; execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

30.Gateway网关过滤器链执行顺序

请求进入网关会碰到三类过滤器&#xff1a; 1.当前路由过滤器&#xff08;属于GatewayFilter&#xff09; 2.DefaultFilter&#xff08;属于GatewayFilter&#xff09; 3.GlobalFilter&#xff08;属于GlobalFilter&#xff09; 合并到一个过滤器链集合中&#xff0c;排序后…

SpringBoot项目启动,传参有哪些方式?

SpringBoot项目启动&#xff0c;传参有哪些方式&#xff1f; 1.Spring级别的参数 直接在启动 Spring Boot 应用的命令行中使用 -- 后跟参数名和值的方式来传递参数。 记住&#xff1a;一般是对于Spring Boot应用特有的配置参数&#xff0c;确保它们遵循Spring Boot的配置属性命…

数字旅游引领智慧化浪潮:科技创新重塑旅游体验,智慧服务打造旅游新高度

在科技飞速发展的今天&#xff0c;数字旅游正以其独特的魅力引领着智慧化浪潮&#xff0c;深刻改变着旅游行业的面貌。数字技术的广泛应用&#xff0c;不仅为旅游行业注入了新的活力&#xff0c;也极大地提升了旅游体验的品质。科技创新与智慧服务的融合&#xff0c;正推动着旅…

线性表--单链表代码题

数据结构 线性表--单链表练习题/****************************************************************************** file name: 2024-04-27_reverseLinkdemo.c* author : tongyaqi1110@163.com* date : 2024-04-27* function : 实现单链表的逆序* note : None* Copy…

ZYNQ NVME高速存储之EXT4文件系统

前面文章分析了高速存储的各种方案&#xff0c;目前主流的三种存储方案是&#xff0c;pcie switch高速存储方案&#xff0c;zynq高速存储方案&#xff0c;fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储&#xff0c;但是fpga高速存储方案是最烂的&#xff0c;fpga…

不知什么插件开发的

撸起袖子加油干!!!

centos7使用源码安装方式redis

安装编译源码的工具gcc yum install -y gcc下载源码 源码下载地址 https://download.redis.io/releases/ 注意事项 不建议安装最新版本redis&#xff0c;所以我这里选择6.2.6版本 下载 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-…