我也是第一次接触excel表格相关的需求,在这里做一个总结:Excel表格导入
第一步:添加依赖
<!--easypoi-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>${easypoi.version}</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>${easypoi.version}</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>${easypoi.version}</version>
</dependency>
第二步:准备 需要导入的Excel表格(和相应的实体类对应)
1、实体类
@ExcelTarget("学生信息表")
public class BasStudent implements Serializable {
private BasUser user;
@Excel(name="学号")
private String number;
@Excel(name="姓名")
private String name;
@Excel(name="性别")
private String sex;
@Excel(name="学院")
private String academy;
@Excel(name="专业")
private String major;
public BasUser getUser() {
return user;
}
public void setUser(BasUser user) {
this.user = user;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAcademy() {
return academy;
}
public void setAcademy(String academy) {
this.academy = academy;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "BasStudent{" +
"user=" + user +
", number='" + number + '\'' +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", academy='" + academy + '\'' +
", major='" + major + '\'' +
'}';
}
}
注:@Excel是指定实体类属性对应excel表格里的列名
2、excel表格
三、后台接口
注:1、后台接收的文件类型是MultipartFile ,这里可使用它的输入流读取
2、ExcelImportUtil.importExcel是框架提供的导入工具类
@RequestMapping(value ="/easypoiTest" ,method = RequestMethod.POST)
public void easypoiTest(@RequestParam("file") MultipartFile multipartFile) throws Exception {
//表格参数信息
ImportParams importParams = new ImportParams();
//excel头部占一行
importParams.setHeadRows(1);
//获取Excel表格的学生数据封装成对象
List<BasStudent> stuList = ExcelImportUtil.importExcel(multipartFile.getInputStream(), BasStudent.class,importParams);
//业务(为班级添加学生)
for(BasStudent student: stuList){
System.out.println(student);
}
}
四、接口测试
接口测试推荐postman,好处:百度
测试结果:接口获取到excel的信息映射成实体对象
五、总结
奥力给,日后经常更新,值得关注!!!
个人网站,欢迎来踩