EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。

文档地址:https://alibaba-easyexcel.github.io/index.html
github地址:https://github.com/alibaba/easyexcel

依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId>
</dependency>

简单的读和写

创建一个实体类

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;@Data
public class User {@ExcelProperty("用户编号")    private Integer uid;@ExcelProperty("用户姓名")private String name;public User(int i, String s) {this.uid = i;this.name = s;}public User(){}
}

@ExcelProperty()里的值对应的是excel中的列标题名。

简单的写
import com.alibaba.excel.EasyExcel;import java.util.ArrayList;
import java.util.List;public class DemoWriter {public static void main(String[] args) {// 设置Excel的路径String filePath = "F:\\excel\\01.xlsx";// 模拟数据List<User> users = new ArrayList<>();for (int i = 0; i < 10; i++) {User user = new User(i+1,"zs"+i);users.add(user);}// 写操作EasyExcel.write(filePath,User.class).sheet("用户信息").doWrite(users);}}
简单的读

读和写不同于要有一个监听器

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;import java.util.Map;public class UserListener extends AnalysisEventListener<User> {// 从excel表中的第二行开始读取@Overridepublic void invoke(User user, AnalysisContext analysisContext) {System.out.println(user);}// 读取excel表头内容public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {System.out.println("表头内容"+headMap);}// 读完excel后执行@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {}
}

进行读操作

import com.alibaba.excel.EasyExcel;public class DemoRead {public static void main(String[] args) {// 设置Excel的路径String filePath = "F:\\excel\\01.xlsx";EasyExcel.read(filePath, User.class, new UserListener()).sheet().doRead();}}

EsayExcel简单的读和写相关推荐

  1. STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    目录 前言 特别声明: 代码下载: 功能介绍: 接线 STM32 STM32F1开发指南(精英版)-库函数版本_V1.2 STM32中文参考手册 RFID-RC522 RFID射频模块电路原理图 使用 ...

  2. 这是我读过写得最好的【秒杀系统架构】分析与实战!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/ewVWv 1 秒杀业务分析 2 ...

  3. 多读多写多实践---给初学编程者的建议

    今天偶尔翻出了大一时候使用的谭浩强<C语言程序设计习题集和上机指导>,发现里面的代码格式真的不敢恭维.原来我们就是看着这些书本来学习成长过来的,当然,他的<c语言程序设计>我觉 ...

  4. c++一日一练:利用流来实现读和写的同步(原创)

    int main(int argc,char*argv[]) { string s; stringstream ssm; //ssm.rdbuf(); //写到流的缓冲区,,但是并不刷新. ssm&l ...

  5. NIO入门系列之第3章:从理论到实践:NIO 中的读和写

    3.1  概述 读和写是 I/O 的基本过程.从一个通道中读取很简单:只需创建一个缓冲区,然后让通道将数据读到这个缓冲区中.写入也相当简单:创建一个缓冲区,用数据填充它,然后让通道用这些数据来执行写入 ...

  6. blp模型 上读下写_Java高并发编程(三):Java内存模型

    1 Java内存模型的基础 在并发编程里,需要处理两个问题: 线程之间如何通信 线程之间如何同步. 通信指的是线程之间以何种机制来交换信息.在命令式编程里中,线程之间的通信机制有两种:共享内存和消息传 ...

  7. php 修改select标签,JS修改input,textarea,select标签的可读可写属性

    通过JS修改input,textarea,select标签的可读可写属性 首先,控制input,与textarea只读属性是 readonly 在js中 可以这样去改变,这里要注意js中O要大写 re ...

  8. Java实现excel的读与写(Apache POI)

    本文将讨论利用Apache POI提供的类实现Excel文件的读与写操作. 整个项目的目录结构基于前面的一篇文章:<java读取pdf内容> 1.pom.xml <dependenc ...

  9. python3 写入excel_Python3 读、写Excel文件的操作方法

    首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). •一个工作簿就是一个独立的文件 •一个工作簿里面可以 ...

  10. SPI通信实验---verilog(FPGA作为从机,使用可读可写)

    文章原地址: http://www.cnblogs.com/fhyfhy/p/4429302.html SPI通信实验---verilog(FPGA作为从机,使用可读可写) 本实验讲究实用性,故设计思 ...

最新文章

  1. 比特币现金(BCH)独立日一周年庆!里程碑一览!
  2. 九度 1545:奇怪的连通图
  3. mysql分页查询limit_MySQL查询语句(where,group by,having,order by,limit)
  4. python怎么执行程序_小鹅通视频怎么下载?用python实现小鹅通视频下载(二)
  5. 面向对象开发的五大基本原则
  6. 手把手教你数据不足时如何做深度学习NLP
  7. springcloud断点续传源码_两套SpringCloud版的开源项目,项目源码和教程齐全
  8. java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计
  10. 真人拳皇项目第七次Scrum总结——史经浩
  11. php 改变页面元素,JavaScript动态改变页面元素
  12. Java 实现 贪吃蛇 小游戏【附源码】
  13. Raw Socket(原始套接字)
  14. 数值计算求解动态热传导方程
  15. javascrip语言精髓与编程实践pdf_C/C 编程推荐学习顺序和书籍
  16. c语言循环中怎样读取多行,c++循环读取多行文本文件
  17. 3nf mysql表_数据库三大范式(1NF,2NF,3NF)及ER图
  18. python基础编程:python如何实现浪漫的烟花秀(附代码)
  19. T23,雄关漫道真如铁,而今迈步还需从头越
  20. Solution:设备管理器中Prolific USB-to-Serial Port出现黄色感叹号

热门文章

  1. hbase MapReduce程序样例入门
  2. 在数据库中存储层次型数据
  3. linux下main函数的返回值问题
  4. Linux下修改PATH的方法
  5. 成为一个优秀网络工程师的条件
  6. 解决pre-commit hook failed (add --no-verify to bypass)的问题
  7. angular组件图标无法显示的问题
  8. 梦想成真,喜获微软MVP奖项,微软MVP FAQ?
  9. 《Linux4.0设备驱动开发详解》笔记--第七章:Linux设备中的并发控制
  10. GridBagLayout用法