EasyExcel导入导出功能优化技巧

前言

为解决文件导入导出出现内存占用高、处理速度慢等问题,本文旨在详细着重介绍EasyExcel基本使用方法以及功能优化分析,结合实际运用代码,在注释中描述清晰的业务逻辑,帮助读者轻松上手并高效利用该框架处理Excel文件,文章分为2个部分:

(1)EasyExcel的使用方法与熟悉读写监听器运行机制。

(2)从多线程并发角度与数据库优化出发,更深层次解析EasyExcel使用场景,为更好的匹配项目中的需求。

(3)分析EasyExcel新功能,从实际业务出发,允许开发者在读写过程中对其自定义优化。

目录

前言

一、背景说明

二、基本用法

1、引入依赖

2、读数据

1.1前端

1.2后端

3、写数据

三、优化分析

3.1优化原理

3.2优化业务层逻辑

3.3结合JDBC批量处理方式

四、EasyExcel新功能

五、结语

一、背景说明

        EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。不用考虑性能、内存的等因素,能够快速完成Excel的读、写等功能。

二、基本用法

1、引入依赖

<dependency>

        <groupId>com.alibaba</groupId>

         <artifactId>easyexcel</artifactId>

         <version>2.1.7</version>

</dependency>

2、读数据

1.1前端

(1)文件上传按钮

<div class="layui-btn-container">
    <button type="button" class="layui-btn" id="test3">
        <i class="layui-icon"></i>上传文件
    </button>
</div>

(2)导入按钮点击事件-----基于LayUi的方式

layui.use(['upload', 'element', 'layer'], function() {
        var $ = layui.jquery
            , upload = layui.upload
            , layer = layui.layer;

        upload.render({
            elem: '#test3'
            , url: '/import'  //此处配置你自己的上传接口即可
            , accept: 'file'  //普通文件
            , done: function (res) {
                layer.msg(res.msg);
                text()  // 对导入成功的数据进行展示
            }
});
1.2后端

(1)实体类定义

@Data
public class Student{ //学生数据传输对象

  @ExcelProperty("序号")
  private Integer id;

  @ExcelProperty("编号")
  private Integer number;   //学生编号

  @ExcelProperty("姓名")
  private String name;       //姓名

  @ExcelProperty("年龄")
  private Integer age;       //年龄

  @ExcelProperty("时间")  
  private String time; //入学时间
}

@ExcelProperty注解:用于指定Excel中的列与Java实体类字段之间的映射关系。

(2)数据访问层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值