阿里云easy-excel的使用(springboot整合)

Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。

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

我们想要使用EasyExcel,首先需要引入对应的依赖

<dependencies>
	<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>easyexcel</artifactId>
		<version>2.1.1</version>
	</dependency>
</dependencies>

因为EasyExcel是在POI的基础上做的封装,因此我们还需要引入POI的依赖

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

实现写操作

创建实体类,设置属性于excel表头对应(使用@ExcelProperty注解来实现)

package com.atguigu.demo.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

/**
 * <p>
 *  实体类,与excel表头对应
 * </P>
 *
 * @author Kk
 * @since 2022/2/26 13:46
 */
@Data
public class DemoData {
   
   

 
Spring Boot 是一个轻量级的开发框架,可以快速构建和部署应用程序。Easy Excel 是一个开源的 Java Excel 解决方案,可以轻松实现 Excel 的读写和操作。Spring Boot 整合 Easy Excel 可以实现快速、简单且高效的 Excel 数据处理。 首先,我们需要在 pom.xml 文件中添加 Easy Excel 的依赖。然后,我们可以使用 @EnableEasyExcel 注解来启用 Easy Excel,并配置 Easy Excel 的属性,比如读取 Excel 文件的位置、写入 Excel 文件的位置、读写 Excel 文件的格式等等。 我们可以通过定义一个 Excel 模型来规定读取和写入 Excel 文件的格式。Excel 模型可以包含多个 Excel 表,并且每个 Excel 表可以包含多个表头和数据行。我们可以通过在 Excel 模型中定义注解来指定 Excel 的表头和数据行字段的属性,使得读写 Excel 文件更加方便快捷。 可以使用 Easy Excel 提供的 ExcelWriter 和 ExcelReader 类来进行 Excel 文件的读取和写入。ExcelWriter 实例可以通过 write 方法写入 Excel 文件,ExcelReader 实例可以通过 read 方法读取 Excel 文件。我们可以使用 Easy Excel 提供的监听器和回调函数来实现 Excel 文件的读取与写入的监听和反馈,使得 Excel 数据的读取和写入更加友好和可靠。 总之,Spring Boot 整合 Easy Excel 可以使得 Excel 数据的读写变得简单、高效、可靠,从而提高了应用程序的开发效率和用户体验。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值