1.控制器中的方法
@GetMapping(value = "export")
@Authority
public Result export(ShippingBillCriteria shippingBillCriteria, @ApiIgnore @User CurrentUser currentUser) {
shippingBillCriteria.setUserId(currentUser.getUserId());
List<ShippingBillDto> export = shippingBillService.findList(shippingBillCriteria);
if (export.isEmpty()) {
return ResultGenerator.genFailResult(CommonCode.SERVICE_ERROR, "导出无收据,请重新筛选条件", null);
}
String fileName = shippingBillService.export(export, exportFile);
return ResultGenerator.genFailResult(CommonCode.SUCCESS, excelUrl + fileName);
}
List<ShippingBillDto> export = shippingBillService.findList(shippingBillCriteria);从数据中获取数据String fileName = shippingBillService.export(export, exportFile); 导入数据方法,参数:export数据库中查询出来的数据,exportFile文件导出的位置
2.导出实现方法
@Override
public String export(List<ShippingBillDto> export, String exportFile) {
String fileName = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATETIME_PATTERN) + ".xls";
ExcelWriter writer = ExcelUtil.getWriter(exportFile + fileName);
ArrayList<Map<String, Object>> rows = CollUtil.newArrayList();
LinkedHashMap<String, Object> map;
for (ShippingBillDto shippingBillDto : export) {
map = new LinkedHashMap<>();
map.put("平台订单号", shippingBillDto.getPlatformOrderId());
map.put("运输单号", shippingBillDto.getTrackingNo());
map.put("长", shippingBillDto.getLength());
map.put("宽", shippingBillDto.getWeight());
map.put("高", shippingBillDto.getHeight());
map.put("体积", shippingBillDto.getVolume());
map.put("重量", shippingBillDto.getWeight());
map.put("最终费用", shippingBillDto.getShippingFreeFinal());
rows.add(map);
}
writer.write(rows, true);
writer.close();
return fileName;
}