实现EasyExcel对Excel读写操作

.pom中引入xml相关依赖

<dependencies><!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.1</version></dependency><!--xls--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency><!--xlsx--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency>
</dependencies>

注意api和easyexcel的版本对应

EasyExcel对Excel写操作

1.创建表对应的实体类

import com.alibaba.excel.annotation.ExcelProperty;//设置表头和添加的数据字段
@Data  //此注解 lombok用来简化实体类:需要安装lombok插件
public class DemoData {//设置表头名称@ExcelProperty("学生编号")private string sno;//设置表头名称@ExcelProperty("学生姓名")private String sname;

2.创建代码
方法一:

//        实现excel写的操作
//        1设置写入文件地址和excel的文件名称String filename ="创建的地址";
//        2调用easyexcel里面的方法实现写操作EasyExcel.write(filename,实体类.class).sheet("学生列表").doWrite(list数据);//学生列表表示exsl下面的sheet

方法二:

public static void main(String[] args) throws Exception {// 写法2,方法二需要手动关闭流String fileName = "F:\\112.xlsx";// 这里 需要指定写用哪个class去写ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build();WriteSheet writeSheet = EasyExcel.writerSheet("写入方法二").build();excelWriter.write(data(), writeSheet);/// 千万别忘记finish 会帮忙关闭流excelWriter.finish();
}

EasyExcel对Excel读操作

1:创建实体类

import com.alibaba.excel.annotation.ExcelProperty;
@Data
public class ReadData {//设置列对应的属性@ExcelProperty(index = 0)  //表示第几列 0表示第一列private String sid;//设置列对应的属性@ExcelProperty(index = 1) //表示第几列 1表示第二列private String sname;

2.创建读取操作的监听器

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;//创建读取excel监听器public class ExcelListener extends AnalysisEventListener<ReadData> {//创建list集合封装最终的数据List<ReadData> list = new ArrayList<ReadData>();//一行一行去读取excle内容@Overridepublic void invoke(ReadData user, AnalysisContext analysisContext) {System.out.println("***"+user);list.add(user);}//读取excel表头信息@Overridepublic void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {System.out.println("表头信息:"+headMap);}//读取完成后执行@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {}}

3.调用实现最终的读取

  public static void main(String[] args) throws Exception {// 写法1:String fileName = "F:\\01.xlsx";// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭EasyExcel.read(fileName, ReadData.class, new ExcelListener()).sheet().doRead();// 写法2:InputStream in = new BufferedInputStream(new FileInputStream("F:\\01.xlsx"));ExcelReader excelReader = EasyExcel.read(in, ReadData.class, new ExcelListener()).build();ReadSheet readSheet = EasyExcel.readSheet(0).build();excelReader.read(readSheet);// 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的excelReader.finish();
}

实现EasyExcel对Excel读写操作相关推荐

  1. 四、EasyExcel实现Excel读写,封装工具类

    在项目中,我们经常用到EasyExcel框架实现:对Excel文件的读写操作.为了方便后续其他项目中的使用,将对Excel文件的读写操作,封装成工具类. 一.EasyExcel实现Excel读写,封装 ...

  2. 实现EasyExcel对Excel读操作(读操作)

    一.实现EasyExcel对Excel读操作 1.创建实体类 import com.alibaba.excel.annotation.ExcelProperty; public class ReadD ...

  3. VS2010 对Excel读写操作

    VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 office 2010 注意 :这里office版本号不一定非得和vs版本号一致. 二.基本实现功能 基本实现 ...

  4. php excel读写,phpGrace 工具类库 - excel 读写操作

    功能说明 excel 读写操作基于 PHPExecl 类库,可以方便的对 Excel 进行操作. 部署说明下载 PHPExcel.zip 解压后将全部文件部署到 phpGrace/tools 下 调用 ...

  5. VS2015 对Excel读写操作

    一.开发环境 编程环境 VS2015 office版本 office 2016 二.参考博文 VS2010 对Excel读写操作 https://blog.csdn.net/ywx123_/artic ...

  6. VS2010 对Excel读写操作

    https://blog.csdn.net/ywx123_/article/details/77074038 VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 ...

  7. 基于Python的Excel读写操作--内容超详细,值得排排坐

    今日份超详细的解读,Excel文件基础操作,让你以学就会. 写这个的原因是,一位群友问了很久,然后网上的教程写的又不是很详细,看的有些犯迷糊,所以我今日份写一份超详细的基本操作,让你打下良好的基础. ...

  8. 【开发指南】Spring Cloud集成POI完成Excel读写操作

    POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft office格式档案读和写的功能,其中包括Excel,Word,Power ...

  9. Python3,Pandas 5行代码实现对excel 读写操作

    Pandas 读写excel pandas 写入excel数据 pandas 读取excel数据 pandas 写入excel数据 在使用pandas之前,需要安装pandas模块, 老方法: pip ...

最新文章

  1. JAVA多线程Thread VS Runnable详解
  2. CPU使用率的几个重要指标含义列举
  3. linux 改用户组密码,Linux用户和组的操作(八) 修改用户密码 passwd
  4. 【算法】剑指 Offer 05. 替换空格
  5. 树莓派java 控制摄像头_在树莓派上使用动作进行网络摄像头流媒体问题
  6. linux根目录cdef,关于linux:Cython:从python调用的cdef函数中调用扩展类型cdef方法...
  7. Microsoft Office 2016(ProPlus/Visio/Project) VOL 简体中文版
  8. 计算机图形学的未来前景,计算机图形学的发展前景
  9. OSChina 周五乱弹 —— 男友手机上存了好多鸡的照片
  10. 什么是java框架结构_Java框架概述
  11. 合同法律风险管理 被骗者刑事风险
  12. STA静态时序分析/Formality形式化验证
  13. 树莓派Ubuntu21.04 罗技键盘和鼠标重启后失效问题解决
  14. window10 多桌面切换快捷键 win+tab
  15. 专访 | 快手王仲远:技术创业不要拿着锤子找钉子
  16. assembly8_10
  17. ORA-00054 资源正忙
  18. git 合并部分代码
  19. APP常见的归因方式
  20. vue2+elementui 饿了么ui的一些食用方法

热门文章

  1. Spring Boot 实践折腾记(四):配置即使用,常用配置
  2. steam上快速游戏_如何将Steam游戏移动到另一个驱动器上
  3. 安卓开发之数据库——SQLite的详细介绍,详细到连Alt+回车都有说
  4. UVA 673-Parentheses Balance
  5. fuzz测试之syzkaller(linux kernel fuzz)
  6. HTML的部分标签学习
  7. angular FileSaver、XLSX 导入导出
  8. 支持SMB协议的系统或者软件列表
  9. 关于未完全Root的Android系统如何彻底ROOT
  10. 运输问题的单纯形解法