easyExcel极速快速简单入门 1分钟入门 Java Springboot
2020-07-25 12:15
393 查看
依赖
[code]<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> </dependency>
写操作:
写出这样一个excel
1.编写一个写入类
[code]package com.xjh.eduservice.entity.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; //lombok注释 可以getter setter toString代替 @Data @NoArgsConstructor @AllArgsConstructor public class ExcelWriteSubject { //每行的数据是一个对象 需要每列的表头 //设置表头名称 @ExcelProperty("一级分类") private String oneSubject; //设置表头名称 @ExcelProperty("二级分类") private String twoSubject; }
excel里每一行看做一个对象 改行的每一列数据的表头用
[code]@ExcelProperty注解设置
2.方法:获得一个装满每行数据的列表
[code]public static List<ExcelWriteSubject> excelWrite(){ List<ExcelWriteSubject> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { ExcelWriteSubject data = new ExcelWriteSubject(); data.setOneSubject("前端"); data.setTwoSubject("ccccc+++++"); list.add(data); } return list; }
写入
[code]//写方法 public static void main(String[] args) throws Exception { String fileName = "F:\\11.xlsx"; //参数 文件名 每行内容的类 下面的sheet名 类的列表数据 EasyExcel.write(fileName, ExcelWriteSubject.class) .sheet("写入方法一").doWrite(excelWrite()); }
[code]write方法 参数分别是 1.文件名 2.写入内容的类
sheet代表表格下面显示的sheet
dowriter 传入list集合
读操作:
1.创建读类
[code]package com.xjh.eduservice.entity.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class ExcelReadSubject { //设置列对应的属性 @ExcelProperty(index = 0) private String oneSubject; //设置列对应的属性 @ExcelProperty(index = 1) private String twoSubject; }
[code]index = 0代表第一列的数据
[code]index = 1代表第二列 以此类推
2.读方法需要写Listener监听器
[code]package com.xjh.eduservice.listener; 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 com.xjh.eduservice.entity.vo.ExcelReadSubject; import java.util.ArrayList; import java.util.List; import java.util.Map; //创建读取excel监听器 public class ExcelListener extends AnalysisEventListener<ExcelReadSubject> { //创建list集合封装最终的数据 List<ExcelReadSubject> list = new ArrayList<>(); //一行一行去读取excle内容 @Override public void invoke(ExcelReadSubject subject, AnalysisContext analysisContext) { System.out.println("***"+subject); list.add(subject); } //读取excel表头信息 @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { System.out.println("表头信息:"+headMap); } //读取完成后执行 @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } }
3.读取方法
[code] //读 public static void main(String[] args) throws Exception { String fileName = "F:\\11.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, ExcelReadSubject.class, new ExcelListener()).sheet().doRead(); }
sheet表示读取哪个sheet
上面是本地
--------------------------------------------
网络流
[code] try { EasyExcel.read(file.getInputStream(),ExcelReadSubject.class, new ExcelListener(eduSubjectService)).sheet().doRead(); } catch (IOException e) { e.printStackTrace(); }
相关文章推荐
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
- Maven入门指南 :Maven 快速入门及简单使用
- android annotation快速简单入门
- Saltstack快速入门简单汇总
- 第一章 快速入门 编写简单的C++程序
- shiro权限框架简单快速入门
- 最简单的C#快速入门
- Maven入门指南① :Maven 快速入门及简单使用
- 入门级算法——最大公约数 最小公倍数 快速幂 简单并查集 排列组合
- aidl的简单快速入门
- Anjular简单快速入门
- activiti快速入门--简单请假例子(1)
- spring-data-jpa快速入门(二)——简单查询
- Dojo QuickStart 快速入门教程 (4) 简单的测试框架
- EasyPlat.net快速开发平台1分钟入门
- ajax的简单应用之快速入门
- Struts2 快速入门(hello struts2 简单示例,配置开发模式,导入struts源码,设置struts.xml源码提示)
- 教你快速掌握一个简单的Oracle定时任务-入门基础
- Prasely表单校验插件简单使用方法之快速入门
- STL快速入门学习教程之map的简单使用