位置: IT常识 - 正文
推荐整理分享EasyExcel使用与步骤,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
一、导入依赖(3.1.0+版本不需要poi依赖)
<!-- easyExcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.1.1</version> </dependency>二、写数据
1、创建要写入的实体类(@ExcelProperty对应excel第一行的字段名)
package com.easyexcel.excel;import com.alibaba.excel.annotation.ExcelProperty;import lombok.Data;@Datapublic class Demo { @ExcelProperty("学生编号") private Integer sno; @ExcelProperty("学生姓名") private String sname;}2、 开始写入数据
首先是文件名和地址filename()
excel最下层的Sheet名称sheet()
进行写的集合doWrite()
创建对应的集合,然后进行赋值,将内容写进入
package com.easyexcel;import com.alibaba.excel.EasyExcel;import com.alibaba.excel.write.builder.ExcelWriterBuilder;import com.easyexcel.excel.Demo;import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;import java.util.List;@SpringBootTestclass EasyExcelApplicationTests { @Test void contextLoads() { List<Demo> list=new ArrayList<>(); for(int i=0;i<10;i++){ Demo demo=new Demo(); demo.setSno(i); demo.setSname("data"+i); list.add(demo); } String filename="D:/桌面/test.xlsx"; EasyExcel.write(filename, Demo.class).sheet("学生列表").doWrite(list); }}3、运行结果
效果如下:
三、读数据
1、创建实体类,在@ExcelProperty添加index字段,表示所在列
@Datapublic class Demo { @ExcelProperty(value = "学生编号",index = 0) private Integer sno; @ExcelProperty(value = "学生姓名",index = 1) private String sname;}2.创建Excel监听器
继承AnalysisEventListener类,实现invoke和doAfterAllAnalysed方法,并且实现invokeHeadMap方法,该方法在右键-生成-实现方法中有
其中invoke是一行一行读
doAfterAllAnalysed是读完之后操作
invokeHeadMap是读表头
package com.easyexcel.ExcelListener;import com.alibaba.excel.context.AnalysisContext;import com.alibaba.excel.event.AnalysisEventListener;import com.easyexcel.excel.Demo;import java.util.Map;public class ExcelListener extends AnalysisEventListener<Demo> { /** * 一行一行读 * @param demo * @param analysisContext */ @Override public void invoke(Demo demo, AnalysisContext analysisContext) { System.out.println("---"+demo); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { System.out.println("表头="+headMap); }}3.实现读的操作
首先创建要读取文件的路径filename
String filename="D:/桌面/test.xlsx";其中EasyExcel的read中比write多了一个ExcelListener用来监听,内容显示在监听类进行读
EasyExcel.read(filename,Demo.class,new ExcelListener()).sheet().doRead();4.结果如下:
首先是excel内容:
然后是读的结果
下一篇:鸟瞰视角下的彩色船只,土耳其欧鲁旦尼斯 (© den-belitsky/Getty Images)(鸟瞰视野)
友情链接: 武汉网站建设