使用阿里巴巴插件EasyExcel 读写数据

##引入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.3</version>
</dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-nop</artifactId><version>1.7.2</version>
</dependency>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version>
</dependency>

信息表.xlsx

1. 普通的读数据方法

public class Test {public static void main(String[] args) {//读取文件//ExcelReaderBuilder 实例创建ExcelReaderBuilder readerBuilder = EasyExcel.read();readerBuilder.file("D:\\信息表.xlsx");readerBuilder.sheet("用户数据表");//自动关闭输入流readerBuilder.autoCloseStream(true);//设置Execl文件格式readerBuilder.excelType(ExcelTypeEnum.XLSX);//注册一个监听器进行数据解析readerBuilder.registerReadListener(new AnalysisEventListener<Map<Integer,String>>() {
​
​@Overridepublic void invoke(Map<Integer, String> data, AnalysisContext context) {Set<Integer> keySet = data.keySet();Iterator<Integer> iterator = keySet.iterator();while (iterator.hasNext()){Integer key = iterator.next();System.out.print(key + ":" + data.get(key));}System.out.println();}
​@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {System.out.println("数据读取完毕");}});//构建读取器ExcelReader reader = readerBuilder.build();//读取数据reader.readAll();reader.finish();}
}

2. 使用快速方法

public class ExcelTest {public static void main(String[] args) {List<Map<Integer,String>> list = new LinkedList<>();EasyExcel.read("D:"+ File.separator+"信息表.xlsx").sheet().registerReadListener(new AnalysisEventListener<Map<Integer, String>>(){
​@Overridepublic void invoke(Map<Integer, String> data, AnalysisContext context) {list.add(data);}
​@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {System.out.println("数据读取完毕");}}).doRead();//控制台输出表内数据for (Map<Integer,String> data :list) {Set<Integer> keySet = data.keySet();Iterator<Integer> iterator = keySet.iterator();while(iterator.hasNext()){Integer key = iterator.next();System.out.print(key+":"+data.get(key)+", ");}System.out.println();}}
}

3. 使用实体类和数据进行映射

ExcelData.java

package com.zdy.entity;
​
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
​
import java.util.Date;
​
@Data
public class ExcelData {@ExcelProperty("ID")private Integer id;@ExcelProperty("用户名")private String username;@ExcelProperty("性别")private String gender;@ExcelProperty("积分")private String score;@ExcelProperty("IP")private String IPaddress;@ExcelProperty("登录次数")private Integer count;@ExcelProperty("加入时间")private Date date;
}

package com.zdy.test;
​
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.zdy.entity.ExcelData;
​
import java.io.File;
import java.util.*;
​
​
public class ExcelReader {public static List<ExcelData> ExcelWriter(){List<ExcelData> list = new LinkedList<>();EasyExcel.read("D:"+ File.separator+"信息表.xlsx").head(ExcelData.class).sheet().registerReadListener(new AnalysisEventListener<ExcelData>(){
​
​@Overridepublic void invoke(ExcelData data, AnalysisContext context) {list.add(data);}
​@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {System.out.println("数据读取完毕");}}).doRead();return list;}//控制台测试输出结果public static void main(String[] args) {List<ExcelData> excelData1 = ExcelReader.ExcelWriter();//输出表内数据for (ExcelData excelData : excelData1) {System.out.println(excelData);}}
}

public class ExcelWrite {public static void main(String[] args) {//获取数据List<ExcelData> excelData = ExcelReader.ExcelWriter();//写出数据EasyExcel.write("D:"+ File.separator+"信息表2.xlsx").head(ExcelData.class).excelType(ExcelTypeEnum.XLSX).autoCloseStream(true).sheet("数据表").doWrite(excelData);}
}

观察输出地址是否写表成功。

使用阿里巴巴插件EasyExcel 读写数据相关推荐

  1. 阿里EasyExcel读写excel文件的基本使用

    EasyExcel读写excel文件 1.EasyExcel简介 2.对excel的写操作 1.1 创建一个普通的maven项目并引入相关依赖 1.2 创建实体类 1.3 实现写操作 1.3.1 创建 ...

  2. 阿里云分析型数据库AnalyticDB:使用Logstash插件进行高效数据写入

    前言 AnalyticDB(简称ADB,ADS,早期项目名Garuda)是阿里巴巴自主研发的海量数据实时高并发在线实时分析型数据库(Real-Time OLAP).自2012年第一次在集团发布上线以来 ...

  3. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  4. 阿里巴巴云原生大数据运维平台 SREWorks 正式开源

    简介:阿里巴巴云原生大数据运维平台 SREWorks,沉淀了团队近10年经过内部业务锤炼的 SRE 工程实践,今天正式对外开源,秉承"数据化.智能化"运维思想,帮助运维行业更多的从 ...

  5. vue缓存服务器文件到本地,vue中,在本地缓存中读写数据的方法

    1.安装good-storage插件 cnpm i good-storage --save 2.读/写的方法 common/js/cache.js: import storage from 'good ...

  6. Alibaba开源工具EasyExcel读写Excel文件

    前言 工作中使用 excel 表格处理数据是很常见的操作,经常会使用 excel 文件来导入数据或者导出数据,是不是脑海中已经思考有哪些处理excel框架? 小编之前呢就知道Java 解析.生成 Ex ...

  7. 使用easyexcel读写Excel

    title: "使用easyexcel读写Excel" url: "https://wsk1103.github.io/" tags: Java 学习笔记 JA ...

  8. EasyExcel读写文件

    EasyExcel读写文件 文章目录 EasyExcel读写文件 1.写文件 1.1 定义实体类 1.2 获取表头样式 1.3 获取内容样式 1.4 定义标注处理器 1.5 写文件 1.5.1 全量写 ...

  9. 【Android 高性能音频】AAudio 音频流 读写操作 ( 音频流读写数据 | 阻塞时间设定 | 注意事项 | AAudioStream_read | AAudioStream_write )

    文章目录 I . AAudio 音频流 读写操作 简介 II . AAudio 音频流 读写操作 阻塞时间设定 III . AAudio 音频流 读取 固定帧数 操作 注意点 IV . AAudio ...

最新文章

  1. Red5安装与入门 与FMS配置
  2. SAP QM QPV3查看Sample-Drawing Procedure
  3. 字节跳动教育大规模裁员:赔付方式N+2
  4. matlab中max和find函数详解
  5. PHP新浪乐居面试题,一个朋友去新浪乐居面试时的面试题(PHP)
  6. 自助分析_为什么自助服务分析真的不是一回事
  7. 单进程gevent版-TCP服务器(python 版)
  8. 【java】简述CGLIB常用API
  9. 【Java编译】含package的类文件编译
  10. 计算机系统中引入虚拟内存的好处是什么,虚拟内存的作用是什么
  11. 模拟电子技术(学习笔记 1)
  12. Python基础--搬家具(面向对象)
  13. 哥德尔定理的背景知识1:戴德金的数观念——哥德尔逻辑与哲学之3
  14. 关于串行处理过程中时序的论述
  15. Mini CFA 考试练习题 Economics of International Trade
  16. 蓝底白字车牌的定位与字符分割识别matlab仿真
  17. windows粘贴板失效,不能复制粘贴解决
  18. 计算机英语口语面试自我介绍,英语口语面试自我介绍范文
  19. 立足NOIP谈对于NOIP搜索的看法
  20. vscode中打开pdf文件_VSCode中LaTeX和SumatraPDF双向搜索

热门文章

  1. 一文读懂SIFT算法(英文版)
  2. 2018.3.2版本idea 安装阿里巴巴代码规范
  3. Seata实战-分布式事务简介及demo上手
  4. linux平台雷达,基于Linux平台的天气雷达显控系统软件的研制
  5. ECIF系统 校验一户多号是否成功
  6. 电子病历质控系列-总结篇(001)
  7. 【数据库】SQL命令的分类:DDL、DML、(DQL)、DCL的概念与指令
  8. Photoshop简单几步搞定人物磨皮-非插件版
  9. SHUOJ 1013 过河卒问题 (递推)
  10. 华为畅享20pro 鸿蒙,华为畅享20pro手机配置参数_华为畅享20pro参数详细