Java实现Excel数据导入数据库

本文介绍了如何使用Java实现Excel数据导入数据库的过程,包括根据业务需求设计数据库表,创建Excel模板,环境准备,利用SpringBoot和MyBatis-Plus进行批量上传,最后通过Swagger测试接口验证导入效果。
摘要由CSDN通过智能技术生成

首先

在生成Excel前,我们需要理解一下Excel文件的组织形式。在POI中,是这样理解的:一个Excel文件对应一个workbook,一个workerbook是有若干个sheet组成的。一个sheet有多个row,一个row一般存在多个cell。

1、根据业务需求设计数据库表

2、根据数据库表设计一个Excel模板

模板的每列属性必须与表字段一一对应

3、环境准备

我这里项目环境是基于SpringBoot单体式架构,持久层用的公司框架,内置了基于MyBatis-Plus的各种单表操作的方法。

导入依赖

        <!--使用POI读取文件-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>

4、通过插件生成表对应的实体类

/**
 * TbZbzs: 值班值守表
 * @author zs
 * @date 2021-12-17 08:46:31
 **/
@Data
@ApiModel(value="值班值守表,对应表tb_zbzs",description="适用于新增和修改页面传参")
public class TbZbzs extends ProBaseEntity<TbZbzs> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value="id")
    private String id;		// id

    @ApiModelProperty(value="部门")
    private String bm;		// 部门

    @ApiModelProperty(value="值班上报")
    private String zbsb;		// 值班上报

    @ApiModelProperty(value="值班人员")
    private String zbry;		// 值班人员

    @ApiModelProperty(value="上报时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date sbsj;		// 上报时间

    @ApiModelProperty(value="结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date jssj;		// 结束时间

    @ApiModelProperty(value="联系方式")
    private String lxfs;		// 联系方式

    @ApiModelProperty(value="状态")
    private String zt;		// 状态

    /**
     * 逻辑删除
     */
    @ApiModelProperty(value="逻辑删除")
    private String delFlag;
    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    
    

}

5、自定义编写工具类

这里提供的是一个基础模板,根据业务的需求可以增加转换条件

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.IOException;
import java.io.Input
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值