easyPOI多sheet页导出

3 篇文章 0 订阅
1 篇文章 0 订阅

在这里就上关键代码了,如果有不明白的可以看我之前的文章(https://mp.csdn.net/console/editor/html/107430199

/**
 * 多sheet导出
 * @param response 流
 * @param list 导出的数据
 * @param fileName 表头标题名称
 */
public static void exportMoreSheet(HttpServletResponse response,List<Map<String, Object>> list, String fileName) throws IOException {
    Workbook workbook = null;
    workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
    if (workbook != null) {
        downLoadExcel(fileName, response, workbook);
    }
}

 

 

业务层

@PostMapping("/export")
@ApiOperation(value = "导出物流信息")
public void export(@RequestBody SelectDeliveryLogisticsListParamVo param, HttpServletResponse response) {
    try{
        List<Map<String, Object>> sheetsList = new ArrayList<>();
        // 获取物流单
        List<LogisticsExport> logisList = service.selectExportData(param);
        // 第一个sheet页
        //置sheet得名称
        ExportParams logisParams = new ExportParams();
        logisParams.setSheetName("物流信息");
        // 创建sheet1使用得map
        Map<String, Object> logisExportMap = new HashMap<>();
        // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName
        logisExportMap.put("title", logisParams);
        // 模版导出对应得实体类型
        logisExportMap.put("entity", LogisticsExport.class);
        // sheet中要填充得数据
        logisExportMap.put("data", logisList);

        sheetsList.add(logisExportMap);
        // 获取物流单下面的所有的包裹信息
        logisList.forEach(item -> {
            if (StringUtils.isNotBlank(item.getId())) {
                List<LogisticsPackInfoExport> packList = service.selectExportVehiclePackList(UserHelper.getTenantId(), item.getId());
                // 第二个sheet页 +
                //置sheet得名称
                ExportParams packParams = new ExportParams();
                packParams.setSheetName(item.getCode() + "-包裹信息");
                // 创建sheet1使用得map
                Map<String, Object> packExportMap = new HashMap<>();
                // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName
                packExportMap.put("title", packParams);
                // 模版导出对应得实体类型
                packExportMap.put("entity", LogisticsPackInfoExport.class);
                // sheet中要填充得数据
                packExportMap.put("data", packList);
                sheetsList.add(packExportMap);
            }
        });
        CommonExport.exportMoreSheet(response, sheetsList, "物流单");
    }catch (IOException e) {
        e.printStackTrace();
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值