easypoi导出多sheet的excel

一、引入easypoi的依赖

<!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-spring-boot-starter -->
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-spring-boot-starter</artifactId>
    <version>4.4.0</version>
</dependency>

如果系统中已经使用了poi,再次引入easypoi会引起jar包冲突,解决方案参考解决easpoi与poi版本冲突问题

二、导出,完整代码

@PostMapping("/export")
    public AjaxResult export(@RequestBody String[] times)
    {
        //封装
        List<Map<String, Object>> mapList = new ArrayList<>();
        for (String time : times){
            //设置导出信息
            ExportParams exportParams = new ExportParams();
            //导出的sheet名
            exportParams.setSheetName(time);
            //excel高度
            exportParams.setHeight((short) 8);
            //excel样式,这里的样式可以不写,使用其默认样式
            exportParams.setStyle(ExcelExportMyStylerImpl.class);
            Map<String,Object> map = new HashMap<>();
            MonthEmpty empty = new MonthEmpty();
            empty.setDate(time);
            //要导出的数据
            List<MonthTBExportVO> monthTBExportVOS = iMonthAcademicService.exportTBCount(empty);
            //导出的数据
            map.put("data",monthTBExportVOS);
            //导出参数
            map.put("title",exportParams);
            //导出实体
            map.put("entity",MonthTBExportVO.class);
            mapList.add(map);
        }

        String str = null;
        try {
            //传参,导出
            Workbook workbook = ExcelExportUtil.exportExcel(mapList, ExcelType.HSSF);
            /*下面这一部分就看自己项目中要使用的下载方式了
            	不同需求可以使用不同方式下载
            */
            ExcelUtil<MonthTBExportVO> util = new ExcelUtil<>(MonthTBExportVO.class);
            str  = "某某某" + ".xls";
            //util.getAbsoluteFile(str)是创建了一个本地文件,将流写入
            FileOutputStream out = new FileOutputStream(util.getAbsoluteFile(str));
            //写入流
            workbook.write(out);
            out.flush();
            out.close();
        }catch (Exception e){
            e.printStackTrace();
        }
        return AjaxResult.success(str);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值