当前位置: 首页 > news >正文

融资项目——EasyExcel操作Excel文件

        EasyExcel是Alibaba集团开源的EasyExcel技术,该技术是针对Apache POI技术的封装和优化,主要解决了POI技术的耗内存问题,并且提供了较好的API使用。不需要大量的代码就可以实现excel的操作功能。

1.EasyExcel的配置

        首先引入依赖,具体如下:

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.17</version></dependency><dependency><groupId>org.apche.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency>

2. 向excel写入数据

EasyExcel.write(FilePath,xxxEntity.class).excelType(ExcelTypeEnum.XLS/XLSX).sheet("aaa").dowrite(xxxEntity数据)

        FilePath表示Excel的路径,aaa表示该ecxel一张名为aaa的表,excelType表示excel文件是xls还是xlsx,向这张表中写入类型为xxxEntity的数据(xxxEntity数据可为单个xxxEntity也为xxxEntity数组),表头为xxxEntity对象的各个属性。

        如果希望表头是自定义的,需要在对应的xxxEntity实体对象类中的属性上方加入@ExcelProperty("自定义名称")注解。

3. 读取excel文件数据

        EasyExcel读取excel文件时首先需要创建监听器类,其通过继承AnalysisEventListener类实现。具体代码如下:

public class xxxEntityListener extends AnalysisEventListener<xxxEntity>{//解析每一条数据时调用@Overridepublic void invoke(xxxEntity data,AnalysisContext context){log.info("数据内容:",data);}//excel所有数据解析完成时调用@Overridepublic void doAfterAllAnalysed(AnalysisContext context){log.info("所有数据解析完成");}
}

然后通过下面的代码读取excel文件:

EasyExcel.read(FilePath/InputStream,xxxEntity.class,new xxxEntityListener()).sheet().doRead();

excel文件读取过程中,除了可通过FilePath从excel文件中读取数据,还可以直接读取数据流数据。

http://www.lryc.cn/news/279740.html

相关文章:

  • OAI openair3-NAS-UE-EMM代码解读(续)
  • SQL-条件查询与聚合函数的使用
  • Qt移植曲线显示
  • 基于springboot生鲜交易系统源码和论文
  • vue中鼠标拖动触发滚动条的移动
  • 1、理解Transformer:革新自然语言处理的模型
  • Acwing847 图中点的层次(bfs)
  • windows11通过虚拟机安装Ubuntu20.04
  • 时序预测 | Matlab实现EEMD-SSA-BiLSTM、EEMD-BiLSTM、SSA-BiLSTM、BiLSTM时序预测对比
  • Android14之解决Pixel手机联网出现感叹号(一百八十)
  • Vmware虚拟机问题解决方案 运行虚拟机系统蓝屏 运行虚拟机时报错VT-x
  • uni-app中轮播图实现大图预览
  • 了解什么是UV纹理?
  • 【蓝桥备赛】wzy的数组Ⅱ——简单莫队问题
  • 学习Qt笔记
  • pymssql 报错误解决办法:20002, severity 9
  • Web缓存代理
  • Rust-模式解构
  • C#基于ScottPlot进行可视化
  • 基于JAVA+ssm开发的在线报名系统设计与实现【附源码】
  • 蓝桥——第 3 场 小白入门赛(A-D)
  • Java项目:06 Springboot的进销存管理系统
  • 数据结构与算法之美学习笔记:47 | 向量空间:如何实现一个简单的音乐推荐系统?
  • 5《Linux》
  • go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
  • VQ-VAE(Neural Discrete Representation Learning)论文解读及实现
  • OpenAI的ChatGPT:引领人工智能交流的未来
  • es集群安装及优化
  • 【开源】基于JAVA+Vue+SpringBoot的医院门诊预约挂号系统
  • Java Swing 图书借阅系统 窗体项目 期末课程设计 窗体设计