EasyExcel基于模板导出

定义模板

  1. 注意区分{}、{.}; {}单元格填充,{.}列填充。
  2. 一行多个{}填充,要确保每个{}在单独的单元格内。

在这里插入图片描述

导出结果

在这里插入图片描述

样式

设置模板样式即可

后端代码

@PostMapping("/exportExcel")
    public void export(HttpServletResponse response, @RequestBody Student student){
  //获取数据
  List<Student> studentList = studentDao.findByWhere(student);

  try{
      response.setCharacterEncoding("UTF-8");
      response.setContentType("application/octet-stream");
      response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode("学生表.xls","utf-8"));

      //获取模板路径
      String fullFilePath = fileProperties.getDir() + File.separatorChar + "成绩单.xls";

      //日期填充
      Map<String,String> date = new HashMap<>();
      date.put("date","20230331")
      
      //输出excel
      EasyExcel
          .write(response.getOutputStream())
          .autoCloseStream(true)
          .withTemplate(fullFilePath)
          .build()
          .fill(date, EasyExcel.writerSheet(0).build())
          .fill(studentList, EasyExcel.writerSheet(0).build())
          .finish();
      }catch (IOException e){
          e.printStackTrace();
      }
    }
  • 补充:easyexcel链式写法优化
EasyExcel.write(response.getOutputStream())
    .withTemplate(templatePath)   // 指定模板文件路径
    .autoCloseStream(true)        // 输出完成后自动关闭流
    .sheet()
    .registerWriteHandler(new CustomWriteHandler(param1, param2))  // 可选,注册写处理器
    .head(titleList)              // 指定表头信息
    .tableStyle(tableStyle)       // 可选,设置表格样式
    .doFill(dataList);            // 将数据填充到 Excel 文件中
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值