springboot利用easy-poi 4.1.2进行Excel导出

导出样式:
在这里插入图片描述

public void xqExport(HttpServletResponse response) throws Exception {
       // 数据
        List<Map<String, Object>> mxList = (List<Map<String, Object>>) objectMap.get("mx");

        List<ExcelExportEntity> columnList = new ArrayList<>();
        ExcelExportEntity colEntity1 = new ExcelExportEntity("AAAA", "aaaa");
        colEntity1.setNeedMerge(true);// 纵向合并
        colEntity1.setWidth(15);
        columnList.add(colEntity1);
        
        ExcelExportEntity colEntity2 = new ExcelExportEntity("BBBB", "bbbb");
        colEntity2 .setNeedMerge(true);// 纵向合并
        colEntity2 .setWidth(15);
        columnList.add(colEntity2 );

        ExcelExportEntity ccEntity = new ExcelExportEntity("CCDD", "ccddMapList");
        List<ExcelExportEntity> ccList = new ArrayList<>();
        ExcelExportEntity e1 = new ExcelExportEntity("CC", "cc");
        e1.setWidth(15);
        ccList.add(e1);
        ExcelExportEntity e2 = new ExcelExportEntity("DD", "dd");
        e2.setWidth(15);
        ccList .add(e2);
        ccEntity .setList(ccList );
        ccEntity .setWidth(20);
        
        columnList.add(ccEntity );
        
        List<Map<String, Object>> dataList = new ArrayList<>();
        if (CollectionUtils.isEmpty(mxList)) {
        for (Map<String, Object> map : mxList) {
                Map<String, Object> values = new HashMap<>();
                values.put("aaaa", "a");
                values.put("bbbb", "b3");
                List<Map<String, Object>> ccddMapList= new ArrayList<>();
                Map<String, Object> ccMap = new HashMap<>();
                ccMap .put("cc", 0);
                ccMap .put("dd", 0);
                ccddMapList.add(ccMap );
                values.put("zhMapList", ccddMapList);
                dataList.add(values);
            }
         }
        // 定义标题和sheet名称
        ExportParams exportParams = new ExportParams(null, "信息");
        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, columnList, dataList);
        
        //CellRangeAddress(第几行开始,第几行结束,第几列开始,第几列结束)
        //单元格内容相同才能横向合并
        CellRangeAddress craOne = new CellRangeAddress(mxList.size(), mxList.size(), 0, 2);
        workbook.getSheetAt(0).addMergedRegion(craOne);
        
        // 下载
        response.setHeader("Content-Disposition",
                "attachment;filename=" + new String("信息".getBytes("UTF-8"), "iso8859-1"));
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        BufferedOutputStream bufferedOutPut = new BufferedOutputStream(response.getOutputStream());
        workbook.write(bufferedOutPut);
        bufferedOutPut.flush();
        bufferedOutPut.close();
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值