一、使用easyexcel进行写操作
1.创建maven工程,引入下面依赖
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
2.创建实体类,与easyexcel对应
package com.chang.pojo;
import com.alibaba.excel.annotation.ExcelProperty;
public class User {
//设置execl表头名称
@ExcelProperty(value = "姓名",index = 0)
private String username;
@ExcelProperty(value = "密码",index = 1)
private String password;
//此处省略get、set方法
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
3.实现写操作
package com.chang.test;
import com.alibaba.excel.EasyExcel;
import com.chang.pojo.User;
import java.util.ArrayList;
import java.util.List;
public class DemoTest {
public static void main(String[] args) {
//实现excel写的操作
//设置写入文件夹地址和excel的名称
String filename = "D:\\00code\\write\\a.xls";
//调用easyexcel里面的方法实现写操作
//write方法里面有两个参数,第一个为文件名称,第二个为实体类class
EasyExcel.write(filename, User.class).sheet("用户表").doWrite(getData());
}
public static List<User> getData(){
List<User> list = new ArrayList<>();
for(int i =0;i<1000;i++){
User user = new User();
user.setUsername("小明"+i);
user.setPassword("000000"+i);
list.add(user);
}
return list;
}
}
二、使用easyexcel进行读操作
1.要有上面实体类和maven文件,index与列对应关系
2.创建监听,进行excel的读取
package com.chang.test;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.chang.pojo.User;
import java.util.Map;
public class ExcelListener extends AnalysisEventListener<User> {
//一行一行的去读取excel的内容
@Override
public void invoke(User user, AnalysisContext analysisContext) {
System.out.println("***"+user);
}
//读取表头的内容
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:"+headMap);
}
//读取完成之后做什么事情
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
3.最终方法调用
package com.chang.test;
import com.alibaba.excel.EasyExcel;
import com.chang.pojo.User;
public class ReadDemo {
public static void main(String[] args) {
//实现excel写的操作
//设置写入文件夹地址和excel的名称
String filename = "D:\\00code\\write\\a.xls";
EasyExcel.read(filename, User.class,new ExcelListener()).sheet().doRead();
}
}