依赖
<!-- 阿里巴巴Excel工具 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
实体类
@Data
@HeadRowHeight(40)
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER, borderLeft = BorderStyle.THIN, borderRight = BorderStyle.THIN, borderBottom = BorderStyle.THIN, borderTop = BorderStyle.THIN, shrinkToFit = true)
@ContentStyle(dataFormat = 1, horizontalAlignment = HorizontalAlignment.CENTER, borderLeft = BorderStyle.THIN, borderRight = BorderStyle.THIN, borderBottom = BorderStyle.THIN, borderTop = BorderStyle.THIN, shrinkToFit = true)
@ApiModel(value = "TaskListDisplayExport", description = "任务书管理导出")
public class TaskListDisplayExport {
@ApiModelProperty(value = "飞行日期")
@ColumnWidth(value = 20)
@ExcelProperty(value = "飞行日期", index = 0)
private String flightDate;
@ApiModelProperty(value = "航班号")
@ColumnWidth(value = 20)
@ExcelProperty(value = "航班号", index = 1)
private String flightNo;
}
Controller
@ExportExcel(beanClass = TaskListDisplayExport.class)
public void taskBookManagementAndExport(
HttpServletResponse response,
@RequestBody TaskListDisplayRequest request) {
try (OutputStream out = response.getOutputStream()) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
String date = sdf.format(new Date());
String fileName = "TaskBookExport" + date + ".xlsx";
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
List<TaskListDisplayExport> alarmlist = missionStatementService.taskListDisplayExport(request);
EasyExcelFactory.write(response.getOutputStream(), TaskListDisplayExport.class).sheet("模板").doWrite(alarmlist);
} catch (IOException e) {
try {
throw new IOException(e.getMessage());
} catch (IOException exception) {
exception.printStackTrace();
}
}
}