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. RootersCTF2019 I ♥ Flask

    最近也是一直在做ssti方面的题目,我发现了两款比较好用的工具,一个是arjun(用来探测参数),另一个是Tplmap(用来探测ssti漏洞),我们这里以一道题目为例来演示一下 题目 我们拿到题目 分 ...

  2. ffmpeg+nginx截取屏幕实时画面并进行rtmp推流在前端播放

    准备环境和文件 1.下载ffmpeg的包[https://foxbaby.lanzoui.com/iYjPmup51cd] 地址:https://ffmpeg.org/download.html#bu ...

  3. [Raspberry Pi] 入门使用

    今天开始介绍Raspberry Pi(简称RPi,下同)入门的一些基础知识. 第1部分: 安装RPi 1.1  从 http://www.raspberrypi.org/downloads 下载RPi ...

  4. 【刷题-LeetCode】201 Bitwise AND of Numbers Range

    Bitwise AND of Numbers Range Given a range [m, n] where 0 <= m <= n <= 2147483647, return t ...

  5. virtual studio发布到gihub

    问题 我们想要发布代码到github或者微软团队服务时候,往往发现没有本地库,所以难以发布. 解决方案 在解决方右击就可以新建git 文件都会出现小锁说明有了记录 文件夹会对应出现 右上角管理连接也会 ...

  6. Cesium1.70-介绍CesiumOSM建筑新特性

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 我们很高兴宣布Cesium OSM建筑,一个覆盖整个世界的3D建 ...

  7. MySQL的MyISAM与InnoDB的索引方式

    在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. MyISAM索引实现 MyISAM引擎使用B+Tr ...

  8. 搭服务器之kvm--vnc连接虚拟机连接闪退直接消失 以及virsh shutdown命令无效解决办法。

    之前暑期见识到了虚拟化在企业中的应用,感慨不小,以前只是自己在玩儿桌面vmware workstation,安装的虚拟机也没啥大感觉.在公司机房里大家用的dell poweredge 420,8gme ...

  9. gin中映射查询字符串或表单参数

    package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin. ...

  10. IoC容器-Bean管理XML方式(p名称空间注入)

    5,p名称空间注入(简化xml配置) (1)使用p名称空间注入,可以简化基于xml配置方式 (了解实际用不多) 第一步 添加 p 名称空间在配置文件中   第二步 进行属性注入,在bean标签里面进行 ...