首页 > 其他分享 >EasyExcel读取excel内容

EasyExcel读取excel内容

时间:2023-05-12 22:44:36浏览次数:39  
标签:读取 List EasyExcel excel import com public datas

 

实体类

package com.atguigu.yygh.cmn.controller;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
public class User implements Serializable {

    private static final long serialVersionUID = -6809015731102988151L;

    @ExcelProperty(index = 0)
    private String name;
    @ExcelProperty(index = 1)
    private Integer age;
}

监听器

package com.atguigu.yygh.cmn.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

public class UserLisener<T> extends AnalysisEventListener<T> {
    /**
     * 自定义用于暂时存储data
     * 可以通过实例获取该值
     */
    private List<T> datas = new ArrayList<>();

    /**
     * 每解析一行都会回调invoke()方法
     *
     * @param object  读取后的数据对象
     * @param context 内容
     */
    @Override
    public void invoke(Object object, AnalysisContext context) {
        T map = (T) object;
        //数据存储到list,供批量处理,或后续自己业务逻辑处理。
        datas.add(map);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        //解析结束销毁不用的资源
        //注意不要调用datas.clear(),否则getDatas为null
    }

    /**
     * 返回数据
     *
     * @return 返回读取的数据集合
     **/
    public List<T> getDatas() {
        return datas;
    }

    /**
     * 设置读取的数据集合
     *
     * @param datas 设置读取的数据集合
     **/
    public void setDatas(List<T> datas) {
        this.datas = datas;
    }
}

测试代码

    @GetMapping("readExcel")
    public void readExcel(String filePath){
        String file = filePath + "data.xlsx";
        UserLisener<User> userUserLisener = new UserLisener<>();
        EasyExcel.read(file, User.class,userUserLisener).sheet("Sheet1").doRead();
        List<User> datas = userUserLisener.getDatas();
        System.out.println(datas);
    }

 

标签:读取,List,EasyExcel,excel,import,com,public,datas
From: https://www.cnblogs.com/ixtao/p/17396468.html

相关文章

  • FileReader读取文件(文本和图片)
    1.读取文本letfile=input_file.files[0]letfr=newFileReader();fr.readAsText(file,'gb2312');//设置文本格式fr.onload=function(){document.body.innerHTML=this.r......
  • JavaWeb过滤器读取并修改POST请求的参数-YhtHttpServletRequestWrapper
    核心原理就是一个类:javax.servlet.http.HttpServletRequestWrapper一个简单的例子,当任何请求的参数里有aaa的时候,把它的值改成bbb新增一个类自定义的类CustomHttpServletRequestWrapper importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpSer......
  • go 读取目录与cp
     利用ioutil的ReadDir方法:packagemainimport("fmt""io/ioutil")funcmain(){files,_:=ioutil.ReadDir("./")for_,f:=rangefiles{fmt.Println(f.Name())}} 利用filepath的Glob方法:packagemainimp......
  • excel中判断某个单元格包含某个字符的方法
    在Excel中,你可以使用FIND或SEARCH函数来判断一个单元格是否包含某个字符。这两个函数都会返回子字符串在单元格内容中的起始位置,如果没有找到子字符串,则返回错误。FIND和SEARCH函数的基本语法是相似的,但FIND函数区分大小写,而SEARCH函数不区分大小写。以下是FIND和SEARCH函数的基......
  • python读取txt文本匹配excel内容
    别人的需求,一个小脚本、代码如下:importopenpyxl#打开Excel文件path=r'D:\Paper\data_late.xlsx'workbook=openpyxl.load_workbook(path)#获取第一个工作表worksheet=workbook.active#获取字符串列的值,并将其转换为列表strings=[cell.valueforcelli......
  • getPhysicalNumberOfCells读取excel表格数据,清除空行后代码仍然识别空行,(已解决)
     表格只有几十行数据,但是getPhysicalNumberOfCells读取时还有800多行,原因在于之前把表格数据拓展到了800行,清除数据时,表格的样式为更改,可以尝试使用格式刷复制空行格式刷到错误空行上但是我试了没有用,反而还多了几十行,然后尝试用代码判断空行,只有格式没有数据的空行全部删除,......
  • Delphi中使用ADO连接Excel
    第一部分: 1.设置ADOConnection的ConnectionString属性的OLEDB的提供者要选择MicrosoftJet4.0OLEDBProvider(这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件),按"下一步"按钮2.选择数据库名称。注意:Excel的扩展名是*.xls,而默认文件类型是MicrosoftAcce......
  • 谷歌扩展装不上,清单文件缺失或不可读取 无法加载清单。解决方法
    问题在装谷歌扩展的时候提示谷歌浏览器无法装扩展提示清单文件缺失或不可读取解决方法不要从左下角快捷启动栏启动,从桌面管理员权限启动谷歌浏览器即可错误原因快捷启动栏启动权限不够......
  • EasyExcel-导入文件
    controller类@PostMapping("/importData")publicResultimportData(MultipartFilefile){dictService.importDictData(file);returnResult.ok();}servicepackagecom.atguigu.yygh.cmn.service;importcom.atguigu.yygh.model......
  • go的IO读取与写入
    func(s*SealosInstaller)appendAPIServer()error{etcHostPath:="/etc/hosts"etcHostMap:=fmt.Sprintf("%s%s",IPFormat(s.Masters[0]),APIServer)file,err:=os.OpenFile(etcHostPath,os.O_RDWR|os.O_APPEND,0666)iferr!=......