不废话直接来。
1导入依赖(注意版本号)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
2创建对象(可以简单设置宽度字样等)
@Data
public class Download {
@ColumnWidth(28)
@ExcelProperty(value = "订单号")
private String orderno;
@ColumnWidth(13)
@ExcelProperty(value = "车牌号")
private String plate_num;
@ColumnWidth(13)
@ExcelProperty(value = "支付方式")
private String pay_mode;
}
3数据插入表格
@RequestMapping("/Queryxxxxx")
public void QueryCashierFlowsDownload(HttpServletResponse response) {
List<Download> list = new ArrayList<>();
for (XXXX xxx: xxxs) {
Download download = new Download();
download.setOrderno(xxx.getOrderno());
download.setPlate_num(xxx.getPlate_num());
list.add(download);
}
//配置文件信息(按照自己的需求调整)
LocalDate now = LocalDate.now();
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("车道流水记录", "UTF-8");
response.setHeader("Content-disposition", "attachment;fileName=" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream(), Download.class).sheet(now.toString()).doWrite(list);
}
4结果展示