Service
@Override //kqLeaseJieOutParam 实体 public void selectKqleaseListexecl(kqLeaseJieOutParam kqLeaseJieOutParam1,HttpServletResponse response){ List<KqLeasejieOutModel> kqleaseListcounts = kqListcountserviceMapper.selectKqleaseListexecl(kqLeaseJieOutParam1); try { response.setContentType("application/ms-excel"); response.setCharacterEncoding("utf-8"); //自定义文件名filename response.setHeader("Content-disposition", "attachment;filename=lease.xlsx"); // 创建excel EasyExcel.write(response.getOutputStream()) .head(excelHead()) // 自适应列宽(不需要就忽略) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .sheet("资产出租出借") .doWrite(kqleaseListcounts); } catch (Exception e) { throw new RuntimeException("下载报表异常"); } }
/** * 组装excel头部 * @return */ private List<List<String>> excelHead() { List<List<String>> headList = new ArrayList(); headList.add(new ArrayList() {{ add("账面原值"); }}); // 下面写法,可以实现复杂的头 headList.add(new ArrayList() {{ add("出租出借情况"); add("出租出借数量/面积"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("其中:办公用房面积"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("业务用房面积"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("其他用房面积"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("出租出借资产价值"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("承租(借)方"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("出租(借)期限"); add("开始日期"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("出租(借)期限"); add("结束日期"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("本期实收出租(借)收益"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("是否本年出新增出租出借"); }}); headList.add(new ArrayList() {{ add("出租出借情况"); add("审核状态"); }}); return headList; }
Controller
@ApiOperation(value = "导出") @GetMapping("excel") public void exportExcel(kqLeaseJieOutParam kqLeaseJieOutParam1,HttpServletResponse response){ kqleaseListcountService.selectKqleaseListexecl(kqLeaseJieOutParam1,response); }
效果