在pom.xml文件中导入依赖
<!-- hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.20</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
在Controller层编写两个导入导出接口
需要注意的是导入时候应删除id一列,因为数据库是自增不需要
而且导出的没有别名,名称都和实体类的一致
下面是导出接口
/*
导出接口
*/
@GetMapping("/export")
public void export(HttpServletResponse response)throws Exception{
//查询出所有数据
List<User> userList = userService.list();
//在内存操作写出到浏览器
ExcelWriter writer = ExcelUtil.getWriter(true);
//一次性写出list对象到excel,使用默认样式,强制输出标题
writer.write(userList,true);
//设置浏览器响应格式
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
String fileName = URLEncoder.encode("用户信息", "UTF-8");
response.setHeader("Conten-Disposition","attachment;filename="+fileName+".xlsx");
ServletOutputStream out = response.getOutputStream();
writer.flush(out,true);
out.close();
writer.close();
}
导入接口
/*
导入接口
*/
@PostMapping("/import")
public Boolean Exceimport(MultipartFile file)throws Exception{
InputStream fileInputStream = file.getInputStream();
ExcelReader reader = ExcelUtil.getReader(fileInputStream);
List<User> users = reader.readAll(User.class);
return userService.saveBatch(users);
}