技术点-EasyExcel 实现读操作 | 学习笔记

简介: 快速学习技术点-EasyExcel 实现读操作

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)技术点-EasyExcel 实现读操作学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11356


技术点-EasyExcel 实现读操作


内容介绍

一、创建实体类

二、创建读取操作的监听器

三、进行读操作步骤


一、创建实体类

import com. alibaba . excel.annotation.ExcelProperty;

public class ReadData {

//设置列对应的属性

@ExcelProperty(index . 0)

private int sid;

//设置列对应的属性

@ExcelProperty(index .1)

private String sname;

publlc int getSid()

freturn sid;

public vold setSid(int sid) {

this.sid = sid;

public String getSname() {

return sname;

public void setSname(String sname){

this.sname . sname;

}

@Qverride

public String toString() (

return "ReadData{" +

"sid-"+ sid +

',sname='"+sname+'/''+

"}"


二,创建读取操作的监听器

import com.allbaba. excel .context .AnalysisContext;

import cam. allbaba.excel. event . AnalysisEventListener;import com.alibaba. excel . exceptlon. ExcelDataConyertException;import com.sun scenario.effect.impl.sw.sse.SSEBIend SRC _OUTPeer;

import java.utll.ArrayLst;

import java .utll.Llst;

import java.utll.Map;

//创建读取 excel 监听器public class ExcelListener extends AnalyslsEventListener<ReadDatay> {

//创建1st 集合封装最终的数据

List<ReadData> list - new ArrayList<ReadData>{

//一行一行去读取 excle 内容

@Overridepublic void invoke (ReadData user,AnalysisContext analysisContext){

System.out. println("***"+user);

list. add(user);

//读取 excel 表头信息

@Override

public void invokeHeadMap(Map<Integer,String> headMap,

AnalysisContext context){

System.out.println("表头信息:“+headMap);

}

//读取完成后执行

@Override

PublicvoiddoAfterAllAnalysed(AnalysisContextanalysisContext){

}

调用实现最终的读取

public static void main(Stringl] args) thraws Exception {

// 写法1:

String fileName-"F:\1e1.xlsx";

// 这里 需要指定读用哪个 class 去读,然后读取第一个sheet文件流会自动关闭EasyExcel.read(flleName,ReadData.class,newExcelListener()).sheet().doRead);

// 写法2:

InputStreamin-newBufferedInputStream(new FileInputStream("F:\\01.xlsx"));

ExcelReader excelResden-EasyExcel.read(in, ReadData.cless, ne ircellistener()).build();ReadSheet readSheet = EasyExcel.readSheet(0).build(); excelReader.read(readSheet);

//这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的 excelReader.finish();


三,进行读操作步骤

第一步创建和 excel 对应实体类,标记对应列关系

@Datd

public class DemoData{

//设置 excel 表头名称

@ExcelProperty(value="学生编号"jndex=0)

private Integer sno.

@ExcelPropertyivalue="学生姓名"jndex=1)

private String sname.

}

//一行一行读取excel内容

@Override Public void invoke(DemoData data, AnalysisContext analysisContext){

System.out.println("****"+data);

}

//读取表头内容

@Overridepublic void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context){

System.out.println("表头:"+headMap)

}

//读取完成之后

@Override

publicvoiddoafterAllAnalysed(AnalysisContext analysisContext) { }

第三步 最终方法调用 实现excel读操作

String filename =“F:\\write.xlsx":EasyExcel.read(filename,DemoData.class,new ExcelListener()).sheet0).doRead()

相关文章
|
JSON easyexcel Java
EasyExcel的简单使用
EasyExcel的简单使用,以及如何通过postman进行导入导出功能的调试
2015 1
|
数据采集 JSON 数据格式
python爬虫之app爬取-charles的使用
charles 基本原理,charles抓包,分析,重发。
1626 0
|
网络协议 安全 Python
python中socket客户端关闭连接
【4月更文挑战第7天】本教程介绍了如何在TCP客户端中正确关闭连接。使用`close()`方法可关闭Socket连接并释放资源,示例代码显示了在正常和异常情况下关闭连接的方法。注意异常处理以确保在任何情况下都能关闭连接,并避免并发操作同一Socket,以保证连接的稳定和安全。掌握这些技巧对编写健壮的TCP客户端至关重要。
1655 2
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
1617 0
|
11月前
|
JSON 安全 算法
从0到1掌握1688API:商品详情获取技巧与避坑指南
1688商品详情API通过商品ID获取商品标题、价格库存、图片视频、SKU等结构化数据,支持字段定制与批发价查询,适用于电商整合与竞品分析。采用RESTful+JSON,需AppKey/Secret签名认证,保障数据实时安全。
|
人工智能 运维 云计算
全新无影,来了!
全新无影,来了!
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
存储 监控 Linux
【亮剑】在Linux系统中,有一个特殊的目录经常被用户和管理员所忽视——/tmp。
【4月更文挑战第30天】`/tmp`目录在Linux系统中扮演着重要角色,用于存储临时文件,涉及程序运行、系统操作、用户文件及网络通信。它在系统维护、软件开发、数据处理和网络操作等场景中广泛应用。为保障系统稳定和数据安全,需进行权限控制、定期清理、设置磁盘配额、安全审计以及用户教育。理解和管理`/tmp`目录对于优化系统性能和防范风险至关重要。
1197 1
|
Dart Android开发 iOS开发
flutter 创建项目、运行项目、项目目录
flutter 创建项目、运行项目、项目目录
723 0
|
机器学习/深度学习 人工智能 算法