1,首先,前端发送MultipartFile类型文件,后端接收

2,分别创建多个ImportParams对象(easypoi),对应工作蒲

注意:pom中 要有相对应的配置

<!-- easypoi -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
startSheetIndex 开始读取的sheet位置,默认为0
startRows 字段真正值和列标题之间的距离 默认0
titleRows 表格标题行数,默认0
            ImportParams sheet1 = new ImportParams();
sheet1.setStartSheetIndex(0);
sheet1.setStartRows(0);
sheet1.setTitleRows(0); ImportParams sheet2 = new ImportParams();
sheet2.setStartSheetIndex(1);
sheet2.setStartRows(0);
sheet2.setTitleRows(0); ImportParams sheet3 = new ImportParams();
sheet3.setStartSheetIndex(2);
sheet3.setStartRows(0);
sheet3.setTitleRows(1); ImportParams sheet4 = new ImportParams();
sheet4.setStartSheetIndex(3);
sheet4.setStartRows(0);
sheet4.setTitleRows(1);

3,使用easypoi自带的工具类ExcelImportUtil,将数据读取到集合中

            List<MaterialLibPO> materialList = ExcelImportUtil.importExcel(excel.getInputStream(), MaterialLibPO.class, sheet1);
List<BigMaterialPO> largeList = ExcelImportUtil.importExcel(excel.getInputStream(), BigMaterialPO.class, sheet2);
List<RoutineMaterialPO> conventionalList = ExcelImportUtil.importExcel(excel.getInputStream(), RoutineMaterialPO.class, sheet3);
List<ToolLibPO> toolLibList = ExcelImportUtil.importExcel(excel.getInputStream(), ToolLibPO.class, sheet4);

  注意:对应的实体类要加 @Excel(name = "对应名称") 这里以MaterialLibPO为实例

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MaterialLibPO implements Serializable {
/**
* 唯一标识
*/
@Excel(name = "抢修物资库UUID")
private String id; /**
* 地市id
*/ private String ssdsid; /**
* 区县id
*/
private String ssqxid; /**
* 供电单位id
*/ private String ssgddwid; /**
* 抢修站id
*/
@Excel(name = "抢修站ID")
private String qxzid; /**
* 物资库名称
*/
@Excel(name = "物资库名称(抢修站名+物资库)")
private String wzkmc; /**
* 移动库个数
*/
@Excel(name = "移动库个数(四轮抢修车辆数)")
private String ydkgs; /**
* 库存状态
*/
@Excel(name = "库存状态")
private String kczt; /**
* 经度
*/
private String jd; /**
* 纬度
*/
private String wd;
/**
* 所属供电单位名称
*/
@Excel(name = "供电单位(市县公司)")
private String ssgddwmc;
/**
* 所属地市名称
*/
@Excel(name = "地市")
private String ssdsmc;
/**
* 抢修站名称
*/
@Excel(name = "抢修站名称(附表抢修站标准名称)")
private String qxzmc; private static final long serialVersionUID = 1L;
}

4,获取到list集合后,就可以对数据进行处理或者存储了

java-poi 批量导入excel数据的更多相关文章

  1. java 使用POI批量导入excel数据

    一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取e ...

  2. springboot批量导入excel数据

    1 背景 小白今天闲着没事,在公司摸鱼,以为今天有事无聊的一天,突然上头说小子,今天实现一下批量导入Excel数据吧,当时我的内心是拒绝的,然后默默打开idea. 2 介绍 2.1 框架 java本身 ...

  3. MySQL批量导入Excel数据

    MySQL批量导入Excel数据 1.确定需要导入数据的表名称以及字段,然后在新建的Excel表中,按照表字段正确排序:(注:(Excel文件的名称最好和数据库的名称一致,sheet表的名字最好和表名 ...

  4. poi批量导入excel文件

    package com.practice.util; import java.io.File; import java.io.FileInputStream; import java.io.FileN ...

  5. [Java] 高效快速导入EXCEL数据

    需求1.高效率的以excel表格的方式导入多条数据.2.以身份证号为唯一标识,如果身份证号已存在,则该条数据不导入. 分析刚开始的时候是传统的做法,解析excel数据,获取单个对象,判断身份证是否已存 ...

  6. 如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin

    之前由于数据储存使用excel保存了所有数据,经过初步数据筛选,数据量近4000条.一条一条录入数据库显然是不可行的.以下是我所操作的步骤: 1.只保留excel的数据部分,去除第一行的具体说明 2. ...

  7. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  8. java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...

  9. java的poi技术读取Excel数据

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...

随机推荐

  1. 使用.NET 6开发TodoList应用(26)——实现Configuration和Option的强类型绑定

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在上一篇文章使用.NET 6开发TodoList应用(25)--实现RefreshToken中,我们通过使用Configura ...

  2. HTML、CSS、Javascript、jQuery、Xml

    HTML HTML简介 Hyper Text Markup Language (超文本标记语言)简写:HTML.通过标签来标记要显示的网页中的各个部分.网页文件本身是一种文本文件,通过在文本文件中添加 ...

  3. 2021最新Termux安装Metasploit

    前言 因为某些脚本小子的用Termux搞破坏,所以Termux软件源移除了对Metasploit的支持,所以就不能直接用pkg和apt直接安装了. 但是不用担心,noob-hacker大大写了一个工具 ...

  4. 【视频解码性能对比】opencv + cuvid + gpu vs. ffmpeg + cpu

    视频大小:1168856 字节画面尺寸:480*848帧数:275opencv + cuvid + tesla P4, 解码性能:1426.84 fps ffmpeg 4.0 API + [Intel ...

  5. 很详细的FFT(快速傅里叶变换)概念与实现

    FFT 首先要说明一个误区,很多人认为FFT只是用来处理多项式乘的,其实FFT是用来实现多项式的系数表示法和点值表示法的快速转换的,所以FFT的用处远不止多项式乘. FFT的前置知识:点值表示法,复数 ...

  6. 「数据结构」Link-Cut Tree(LCT)

    #1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...

  7. python封装函数到模块

    导入整个模块: import 模块名 导入特定函数: from module_name import function_name 通过逗号可以分割函数名,如果需要导入多个则 from a import ...

  8. Avoiding the Backup of Online Redo Logs

    Although it may seem that you should back up online redo logs along with the datafiles and control f ...

  9. Homework_1

    寒假第一份作业 一.博客园部分 1.个人博客园链接 Click here 2.markdown界面截图 我用typora编辑 所以贴上typora界面的截图 二.Github部分 1.个人Github ...

  10. Python3.7.3 + pycharm安装

    Python3.7.3下载地址: https://www.python.org/ https://www.python.org/getit/ Pycharm: http://www.jetbrains ...