html
//导出
excel(){
var _this = this
var param = _this.formData//请求参数
var paramStr = ""
for (var key in param){
paramStr += "&"+key+"="+param[key]
}
window.open("/statement/excel?a=b"+paramStr)
},
controller
@GetMapping("/excel")
@RequiresPermissions("statement:excel")
public void getList2(HttpServletResponse response,String supplierName,
String orderId,String waybillId,String state,String stdate,String endate,Integer pageNo,Integer pageSize) {
final StatementVO2 statementVO2 = new StatementVO2();
statementVO2.setSupplierName(supplierName);
statementVO2.setOrderId(orderId);
statementVO2.setWaybillId(waybillId);
statementVO2.setState(state);
statementVO2.setStdate(stdate);
statementVO2.setEndate(endate);
statementVO2.setPageNo(pageNo);
statementVO2.setPageSize(pageSize);
HashMap<String, Object>map= statementService.Finall(statementVO2);
List<StatementExcelVO> list= statementService.excel((List<StatementVo>) map.get("data"));
System.out.println(list);
//easyexcel工具类实现导出
String name = "对账单";
Date date = Calendar.getInstance().getTime();
SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyyMMddHHmmss");
String formatDate_ymd = sdf_ymd.format(date);
// 设置文件名
String fileName = formatDate_ymd + name;
String sheetName = "对账单";
try {
EasyExcel.write(ExcelUtil.getOutputStream(fileName, response), StatementExcelVO.class).sheet(sheetName).doWrite(list);
} catch (Exception e) {
e.printStackTrace();
}
}
VO
@ApiModel
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
@Data
public class StatementExcelVO implements Serializable {
@ExcelProperty(value = {"序号"}, index = 0)
@ApiModelProperty(name = "id",value = "id")
private Integer id;
@ColumnWidth(15)
@ExcelProperty(value = {"DO"}, index = 1)
@ApiModelProperty(name = "dos",value = "DO")
private String dos;
@ExcelProperty(value = {"柜号/批次号"}, index = 2)
@ApiModelProperty(name = "advance",value = "柜号/批次号")
private String advance;
@ColumnWidth(15)
@ExcelProperty(value = {"用户名"}, index = 3)
@ApiModelProperty(name = "user_name",value = "用户名")
private String userName;