easyExcel的作用 , 通过java代码操作excel表格
一.对Excel的写操作
引入依赖
<dependencies>
<dependency>
<groupId>com
.alibaba
</groupId
>
<artifactId>easyexcel
</artifactId
>
<version>2.1.1</version
>
</dependency
>
<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
>
</dependencies
>
创建与excle对应的实体类
package com
.example
.test
.excle
;
import com
.alibaba
.excel
.annotation
.ExcelProperty
;
import lombok
.Data
;
@Data
public class DemoData {
@ExcelProperty("学生编号")
private Integer sno
;
@ExcelProperty("学生姓名")
private String sname
;
}
创建测试类
package com
.example
.test
.excle
;
import com
.alibaba
.excel
.EasyExcel
;
import java
.util
.ArrayList
;
import java
.util
.List
;
public class TestEasyExcel {
public static void main(String
[] args
) {
String filename
= "F:\\write.xlsx";
EasyExcel
.write(filename
, DemoData
.class).sheet("学生列表").doWrite(getData());
}
private static List
<DemoData> getData(){
List
<DemoData> list
= new ArrayList<>();
for(int i
= 0 ; i
< 10 ; i
++){
DemoData demoData
= new DemoData();
demoData
.setSname("marry" + i
);
demoData
.setSno(i
);
list
.add(demoData
);
}
return list
;
}
}
二.对excel的读操作
引入依赖
<dependencies>
<dependency>
<groupId>com
.alibaba
</groupId
>
<artifactId>easyexcel
</artifactId
>
<version>2.1.1</version
>
</dependency
>
<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
>
</dependencies
>
创建实体类
package com
.example
.test
.excle
;
import com
.alibaba
.excel
.annotation
.ExcelProperty
;
import lombok
.Data
;
@Data
public class DemoData {
@ExcelProperty(value
= "学生编号" , index
= 0)
private Integer sno
;
@ExcelProperty(value
= "学生姓名" , index
= 1)
private String sname
;
}
创建监听进行excel文件的读取
package com
.example
.test
.excle
;
import com
.alibaba
.excel
.context
.AnalysisContext
;
import com
.alibaba
.excel
.event
.AnalysisEventListener
;
import java
.util
.Map
;
public class ExcelListener extends AnalysisEventListener<DemoData> {
@Override
public void invoke(DemoData demoData
, AnalysisContext analysisContext
) {
System
.out
.println("****" + demoData
);
}
@Override
public void invokeHeadMap(Map
<Integer, String> headMap
, AnalysisContext context
) {
System
.out
.println("表头:" + headMap
);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext
) {
}
}
方法调用
package com
.example
.test
.excle
;
import com
.alibaba
.excel
.EasyExcel
;
import java
.util
.ArrayList
;
import java
.util
.List
;
public class TestEasyExcel {
public static void main(String
[] args
) {
String filename
= "F:\\write.xlsx";
EasyExcel
.read(filename
, DemoData
.class , new ExcelListener()).sheet().doRead();
}
}