1、首先引入相关依赖
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
2、实体类中加入对应注解
@ApiModelProperty(value = "账号")
@Excel(name = "账号", width = 12)
private String no;
@ApiModelProperty(value = "名字")
@Excel(name = "名字", width = 12)
private String name;
@ApiModelProperty(value = "密码")
@Excel(name = "密码", width = 12)
private String password;
3.控制器里面进行获取数据并导出操作
AddALL 方法 与 Add方法
@GetMapping("/exportReport")
@ApiOperation("导出学生报表")
public void export(@RequestParam("name") String name, ModelMap map, HttpServletResponse response, HttpServletRequest request){
try {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(name)) {
// 这里假设数据库中存储名字的字段名为username,进行like模糊查询,根据实际情况修改字段名
queryWrapper.like("name", name);
}
List<User> studentReportData = new ArrayList<>();
List<User> userList = userService.list(queryWrapper);
// 将userList中的每个用户元素添加到studentReportData中,这样才能正确组织要导出的数据
studentReportData.addAll(userList);
ExportParams params = new ExportParams("学生报表", "学生报表", ExcelType.HSSF);
map.put(NormalExcelConstants.DATA_LIST, studentReportData);
map.put(NormalExcelConstants.CLASS, User.class);
map.put(NormalExcelConstants.PARAMS, params);
map.put(NormalExcelConstants.FILE_NAME, "学生报表");
PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
} catch (Exception e) {
}
}