EasyExcel的简单读取操作

(一)EasyExcel的使用(读取数据到实体类即绑定实体类) 项目是一个springboot 项目,使用maven对依赖进行管理,需求有两个是:①导入的excel有模板,即表头是明确的(简单)②导入的excel没有模板,即表头是不明确的此篇博客主要讲述easyexcel对于需求①的开发,关于需求②会在下一篇博客中进行讲解。以上就是使用第三方插件easyexcel读取excel,写入excel的过程,本来想的挺清晰的,结果写着写着就有点乱了,不知道你们能不能看懂,通过绑定实体类的方式读取写入操作是比较简单的,仔细看看应该能够读懂,嘻嘻嘻! 阅读详情

EasyExcel的简单读取操作

  • Java领域解析、生成Excel比较有名的框架有Apache poi、 jxl等。但他们都存在一个严重的问题就是
    非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或
    者JVM频繁的full gc。
  • EasyExcel是阿里巴巴开源的一个excel处理框架, 以使用简单、节省内存著称。 EasyExcel能大大减
    少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一
    行行读取数据,逐个解析。
  • EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理
    (AnalysisEventListener)。

摘自官网

导入依赖

这个版本之间有个对应关系,不然会报错。

                    <!--xls-->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.17</version>
            </dependency>
            <!--xlsx-->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.17</version>
            </dependency>

		<!-- easyexcel依赖 -->
		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
        </dependency>

创建实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class DemoData {
    // 设置表头名称,index表示的是编号的索引
    @ExcelProperty(value = "学生编号",index = 0)
    private Integer sno;
    @ExcelProperty(value = "学生姓名",index = 1)
    private String sname;
}

用EasyExcel进行写操作测试

/**
 * easyExcel写操作测试
 */
@Test
public void write() {
    String outputFile = "E:\\write11.xlsx";
    EasyExcel.write(outputFile, DemoData.class).sheet("学生列表").doWrite(TestEasyExcel.getData());
}
    private static List<DemoData> getData() {
        List<DemoData> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            String name = UUID.randomUUID().toString().replace("-", 					"").substring(0, 5);
            list.add(new DemoData(i, name));
        }

        return list;
    }


image-20220130201323303

image-20220130201342830

用EasyExcel进行读操作

读的时候要ExcelListener监听器。

创建ExcelListener类继承AnalysisEventListener带上excel表格中的对象

/**
 * Created with IntelliJ IDEA.
 * @Author: pzx
 * @Date: 2022/01/30    15:46
 * @Version:1.0
 */
public class ExcelListener extends AnalysisEventListener<DemoData> {

    // 一行一行去读取excel中的内容(表头不会去读取)
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        System.out.println("********" + data);
    }


    // 读取表头中的内容
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {

        System.out.println("表头\t" + headMap);
    }

    // 读取完成之后做的内容
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {

    }

}

代码测试

/**
 * easyExcel读操作测试
 */
@Test
public void read() {
    String outputFile = "E:\\write11.xlsx";
	// 加上继承了AnalysisEventListener类的监听器
    ExcelListener excelListener = new ExcelListener();
    EasyExcel.read(outputFile,DemoData.class, excelListener).sheet().doRead();


}

image-20220130201850712

(二)Easyexcel 的使用(读取数据到map集合中) 以上就是通过map对excel 的读取和写入操作,整个过程相对于绑定实体类的方式是较复杂的,希望你们认真看,认真读,我在尽力地写清楚我所说的话,可能其中没说明白,也希望谅解下,真心希望读完后能够帮助到你完成你的需求,哪怕一点点!!!如果可以给个zan赞!学习之所以会想睡觉,是因为那是梦开始的地方。ଘ(੭ˊᵕˋ)੭ (开心) ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)------不写代码不会凸的小刘。 阅读详情

相关推荐

Java解析excel,对excel文件的读取操作(阿里推出的easyExcel,亲测好用简单)

准备工作: springboot项目 maven 1.导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.1</version> </depen...

washish的博客 3220

EasyExcel读取Excel数据(含多种方式)

简单地说,EasyExce是一个Java库,用于快速、简单地读写Excel文件以下是官网的简介:Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。

m0_59084856的博客 3万+

读取Excel还用POI?试试这款开源工具

写在前面Java 后端程序员应该会遇到读取 Excel 信息到 DB 等相关需求,脑海中可能突然间想起 Apache POI 这个技术解决方案,但是当 Excel 的数据...

日拱一兵 6320

EasyExcel轻松读取Excel文件!

EasyExcel是一个Java库,用于快速、简单地读写Excel文件。要使用EasyExcel,您首先需要将其添加为项目的依赖:一下几种方式读取文件。

qq_48607414的博客 2万+

EasyExcel详解(结合官方文档)

EasyExcel的学习分享

Bananaaay的博客 2万+

EasyExcel实现对excel文件读写

EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。......

冲出仁川,走出马德里,故事还会再继续 5828

使用java解析和读取excel表格(EasyExcel的简单使用)

使用java解析和读取excel表格(easyexcel的简单使用)

weixin_72979483的博客 1万+

Android布局基础与UI设计入门:打造精美应用界面

恭喜你!现在你已经掌握了Android UI开发的基础知识,包括各种布局类型、常用控件的使用以及一些UI优化技巧。这些知识将帮助你设计出既美观又实用的Android应用界面。

m0_65382359的博客 2056

easyexcel读取表头_EasyExcel的基本使用和快速入门

一、Excel导入导出的应用场景1、数据导入:减轻录入工作量2、数据导出:统计信息归档3、数据传输:异构系统之间数据传输二、EasyExcel简介2.1 EasyExcel特点Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。E...

weixin_34523442的博客 8936

路径规划 | 图解A*、Dijkstra、GBFS算法的异同(附C++/Python/Matlab仿真)

图解A*、Dijkstra、GBFS算法原理,分析三种算法异同,提供C++/Python/Matlab仿真实现

FRIGIDWINTER的博客 2万+

企业微信第三方应用014_企业微信5种第三方应用的安装方式_上架到应用市场_服务商后台点击安装测试_生成应用推广二维码安装---企业微信开发016

成员授权的意思就是,只要是这个成员扫码安装了这个应用,那么这个应用就只有这个成员可以用。安装的时候可以设置可见范围,这个地方可以设置整个公司或者是某个部门或者是某些人可以让这个应用来进行操作。创建了以后,这个二维码就可以发出来进行推广别人用户扫描了以后就可以把自己的企业微信给安装上对应的应用了。然后在对应的这个微信的企业后台就可以看到在第三方中有这个应用了。可以看到这个就是服务商的后台对应的一个应用,我们点击打开应用。可以看到这里有两个授权,一个是成员授权,一个是管理员授权。就可以去创建推广二维码了。

添柴程序猿的专栏 589

easyexcel 简单使用

&lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;easyexcel&lt;/artifactId&gt; &lt;version&gt;1.1.1&lt;/version&gt; &lt;/dependency&gt; FileUtil i

SakeOfWhat的博客 2975

【数据集】CAMS 全球生物质燃烧排放 GFAS(基于火灾辐射功率)

CAMS 全球生物质燃烧排放 GFAS(基于火灾辐射功率)

WW、forever的博客 400

EasyExcel改名为FastExce做了那些改变呢

fastexcel

曼陀罗的博客 6886

【ROS2】手眼标定:moveit2_handeye_calib使用详解

moveit2_handeye_calib MoveIt2 官方的 手眼标定功能包,包含标定插件、图形化界面和示例程序。提供基于 ArUco/ChArUco 标定板的采集与求解功能。标定板下载aruco在线生成器。

郭老二 247

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。召回:当用户以及内容量比较大的时候,往往先通过召回策略,将百万量级的内容先缩小到百量级。

丨汀、的博客 7591

POI 和 EasyExcel

操作Excel目前比较流行的就是和阿里巴巴的。

yy139926的博客 2106

智能水下机器人设计: 基于MATLAB的水下机器人动力学建模和控制系统设计,包括水下环境感知、路径规划和任务执行等

智能水下机器人是指能够在水下自主完成各种任务的机器人,例如探测、勘察、救援等。它具有广阔的应用前景,可用于海洋环境监测、水下考古、海上作业等领域。基于MATLAB的水下机器人设计可以为科研人员和工程师提供强大的建模和仿真工具,帮助他们设计更智能、更高效的水下机器人。智能水下机器人是未来海洋科技发展的重要方向,它将为海洋科学研究、水下考古和海上作业等领域带来新的机遇。MATLAB是一种功能强大的数学和科学计算软件,它可以为智能水下机器人设计提供强大的工具和支持。

走向CTO的路上... 962

poi读取excel 转换实体_EasyExcel java实现excel简单读写操作(快速上手,复制粘贴即可)...

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。一、导入maven坐标Lombok可选,不导入的话需要手动写getter、setter、tostring <!-- easyexcel--> <dependency> <groupId>com.alibaba</groupId> ...

weixin_42316933的博客 719

Autosar PNC网络管理配置-UserData的使用

之前配置的网络管理报文中的data都由ComM管理,后面客户新增了需求,最后两个byte需要发送,本文记录一下相关配置的修改能配置生成的,尽量不手码,毕竟手写一堆bug~

赞的博客 1906

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JAVA读取excel文件_记easyexcel的使用

之前有同学来问Excel的读取导出,那会还不知道easyExcel这玩意.只是自己封装了POI的API整了个工具类.今天试了下easyExcel人门demo,发现easyExcel不错,在此总结一下.pom依赖: 一,Excel文件读取: <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <versio.

hjl21的博客 1673

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 配置阿里云OSS对象存储服务
下一篇: JavaWeb
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值