实现EasyExcel对Excel读写操作
实现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读写操作相关推荐
- 四、EasyExcel实现Excel读写,封装工具类
在项目中,我们经常用到EasyExcel框架实现:对Excel文件的读写操作.为了方便后续其他项目中的使用,将对Excel文件的读写操作,封装成工具类. 一.EasyExcel实现Excel读写,封装 ...
- 实现EasyExcel对Excel读操作(读操作)
一.实现EasyExcel对Excel读操作 1.创建实体类 import com.alibaba.excel.annotation.ExcelProperty; public class ReadD ...
- VS2010 对Excel读写操作
VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 office 2010 注意 :这里office版本号不一定非得和vs版本号一致. 二.基本实现功能 基本实现 ...
- php excel读写,phpGrace 工具类库 - excel 读写操作
功能说明 excel 读写操作基于 PHPExecl 类库,可以方便的对 Excel 进行操作. 部署说明下载 PHPExcel.zip 解压后将全部文件部署到 phpGrace/tools 下 调用 ...
- VS2015 对Excel读写操作
一.开发环境 编程环境 VS2015 office版本 office 2016 二.参考博文 VS2010 对Excel读写操作 https://blog.csdn.net/ywx123_/artic ...
- VS2010 对Excel读写操作
https://blog.csdn.net/ywx123_/article/details/77074038 VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 ...
- 基于Python的Excel读写操作--内容超详细,值得排排坐
今日份超详细的解读,Excel文件基础操作,让你以学就会. 写这个的原因是,一位群友问了很久,然后网上的教程写的又不是很详细,看的有些犯迷糊,所以我今日份写一份超详细的基本操作,让你打下良好的基础. ...
- 【开发指南】Spring Cloud集成POI完成Excel读写操作
POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft office格式档案读和写的功能,其中包括Excel,Word,Power ...
- Python3,Pandas 5行代码实现对excel 读写操作
Pandas 读写excel pandas 写入excel数据 pandas 读取excel数据 pandas 写入excel数据 在使用pandas之前,需要安装pandas模块, 老方法: pip ...
最新文章
- JAVA多线程Thread VS Runnable详解
- CPU使用率的几个重要指标含义列举
- linux 改用户组密码,Linux用户和组的操作(八) 修改用户密码 passwd
- 【算法】剑指 Offer 05. 替换空格
- 树莓派java 控制摄像头_在树莓派上使用动作进行网络摄像头流媒体问题
- linux根目录cdef,关于linux:Cython:从python调用的cdef函数中调用扩展类型cdef方法...
- Microsoft Office 2016(ProPlus/Visio/Project) VOL 简体中文版
- 计算机图形学的未来前景,计算机图形学的发展前景
- OSChina 周五乱弹 —— 男友手机上存了好多鸡的照片
- 什么是java框架结构_Java框架概述
- 合同法律风险管理 被骗者刑事风险
- STA静态时序分析/Formality形式化验证
- 树莓派Ubuntu21.04 罗技键盘和鼠标重启后失效问题解决
- window10 多桌面切换快捷键 win+tab
- 专访 | 快手王仲远:技术创业不要拿着锤子找钉子
- assembly8_10
- ORA-00054 资源正忙
- git 合并部分代码
- APP常见的归因方式
- vue2+elementui 饿了么ui的一些食用方法