依赖
<dependencies>
<!-- EasyExcel-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.0.5</version>
</dependency>
<!-- MyBatisPlus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--springMVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springBoot起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
实验室Excel实体类
/**
* 实验室Excel实体类
*/
@Data
public class LabExcel {
@TableId
@ExcelProperty("id")
private Integer labId;
@ExcelProperty("实验室")
private String labName;//实验室
@ExcelProperty("地址")
private String labAddress;//地址
@ExcelProperty("负责人")
private String labPerson;//负责人
@ExcelProperty("联系电话")
private String labPhone;//联系电话
@ExcelProperty("开放时间段")
private String labOpen;//开放时间段
}
导出excel控制器
/**
* 导出excel
* @param response
* @throws IOException
*/
@GetMapping("/excel")
@ResponseBody
public void test(HttpServletResponse response) throws IOException {
List<LabExcel> list=new ArrayList<>();
List<Lab> labList = labService.search(1, 10).getRecords();
for (Lab lab:labList) {
LabExcel labExcel=new LabExcel();
labExcel.setLabId(lab.getLabId());
labExcel.setLabName(lab.getLabName());
labExcel.setLabAddress(lab.getLabAddress());
labExcel.setLabPerson(lab.getLabPerson());
labExcel.setLabPhone(lab.getLabPhone());
labExcel.setLabOpen(lab.getLabOpen());
list.add(labExcel);
}
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename="+"LabDetail.xlsx");
ExcelWriter excelWriter= EasyExcel.write(response.getOutputStream()).build();
//定义工作表对象
WriteSheet sheet = EasyExcel.writerSheet(0, "sheet").head(LabExcel.class).build();
//往excel文件中写入数据
excelWriter.write(list,sheet);
excelWriter.finish();
}