怎么在SpringBoot中利用EasyExcel导入Excel文件

  介绍

这期内容当中小编将会给大家带来有关怎么在SpringBoot中利用EasyExcel导入Excel文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1,在砰的一声。xml中添加EasyExcel依赖

, & lt; dependency>   ,,& lt; groupId> com.alibaba   ,,& lt; artifactId> easyexcel   ,,& lt; version> 2.1.3   & lt;才能/dependency>

2,创建EasyExcel映射实体类

import  com.alibaba.excel.annotation.ExcelProperty;      public  class  ExcelEntity  {   ,//ExcelProperty中的参数要对应Excel中的标题   ,@ExcelProperty (“ID")   ,private  int  ID;      ,@ExcelProperty (“NAME")   ,private  String 名称;      ,@ExcelProperty (“AGE")   ,private  int 年龄;      ,public  ExcelEntity (), {   ,}      ,public  ExcelEntity (int  ID, String 名字,,int 年龄),{   时间=this.ID 才能;ID;   this.name 才能=,名称;   时间=this.age 才能;年龄;   ,}      ,public  int  getID (), {   return 才能;ID;   ,}      ,public  void  setID (int  ID), {   时间=this.ID 才能;ID;   ,}      ,public  String  getName (), {   return 才能,名字;   ,}      ,public  void  setName (String 名称),{   this.name 才能=,名称;   ,}      ,public  int  getAge (), {   return 才能;年龄;   ,}      ,public  void  setAge (int 年龄),{   时间=this.age 才能;年龄;   ,}   }

3,创建自定义Easyexcel的监听类

<李>

这个监听类里面每一个ExcelEntity对象代表一行数据

<李>

在这个监听类里面可以对读取到的每一行数据进行单独操作

<李>

这里的读取的数据是按照Excel中每一条数据的顺序进行读取的

import  com.alibaba.excel.context.AnalysisContext;   import  com.alibaba.excel.event.AnalysisEventListener;   import  java.util.ArrayList;   import 并不知道;      public  class  UploadExcelListener  extends  AnalysisEventListener< ExcelEntity>, {      ,private  static  final  Logger  Logger =, LoggerFactory.getLogger (LoggerItemController.class);   ,public  static  final  List< ExcelEntity>, list =, new  ArrayList<在();      ,@Override   ,public  void 调用(ExcelEntity  excelEntity, AnalysisContext 上下文),{   logger.info才能(String.valueOf (excelEntity.getID ()));   logger.info才能(excelEntity.getName ());   logger.info才能(String.valueOf (excelEntity.getAge ()));   list.add才能(excelEntity);   以前,}

4,创建控制器

import  com.alibaba.excel.EasyExcel;   import  com.alibaba.excel.ExcelReader;   import  org.slf4j.Logger;   import  org.slf4j.LoggerFactory;   import  org.springframework.web.bind.annotation。*;   import  org.springframework.web.multipart.MultipartFile;      import  java.io.IOException;   import  java.io.InputStream;   import 并不知道;      @RestController   @CrossOrigin   @RequestMapping (“/loggerItem")   public  class  LoggerItemController  {         ,//MultipartFile 这个类一般是用来接受前台传过来的文件   ,@PostMapping (“/upload")   ,public  List< ExcelEntity>,上传(@RequestParam (=value “multipartFile"), MultipartFile  multipartFile) {   if 才能;(multipartFile ==, null) {   ,,return 零;   ,,}      InputStream 才能;拷贝=,空;   try {才能//,,,从multipartFile获取InputStream流   ,,=,拷贝multipartFile.getInputStream ();      ,,/*   ,,,*,EasyExcel 有多个不同的阅读方法,适用于多种需求   ,,,*,这里调用EasyExcel中通过InputStream流方式读取Excel的阅读方法   ,,,*,他会返回一个ExcelReaderBuilder类型的返回值   ,,,*,ExcelReaderBuilder中有一个doReadAll方法,会读取所有的表   ,,*/,,EasyExcel.read (ExcelEntity.class, new  UploadExcelListener ())   ,,,,.sheet (“Sheet1")   ,,,,.doRead ();//,,,每次EasyExcel的阅读方法读取完之后都会关闭流,我这里为了试验doReadAll方法,所以重新获取了一次   ,,=,拷贝multipartFile.getInputStream ();   ,,/*   ,,,*,ExcelReaderBuilder中的片方法,需要添加读取的表名作为参数   ,,,*,并且不要忘记在后面再调用一下doReadAll方法,否则不会进行读取操作   ,,*/,,EasyExcel.read (ExcelEntity.class, new  UploadExcelListener ()) .doReadAll ();   ,,},catch  (IOException  e), {   ,,e.printStackTrace ();   ,,}   return 才能;UploadExcelListener.list;   ,}   }

怎么在SpringBoot中利用EasyExcel导入Excel文件