用easypoi读取模板excel并用foreach存入数据,多层表头/乱七八糟表头

用easypoi读取模板excel并用foreach存入数据,多层表头/乱七八糟表头

咋说呢,用map被总监说了,大概就是人家想修改名称跟顺序的时候都要改程序,太麻烦了(我咋知道人家还要修改模板的= =,模板难道不是定死的吗,没事改一改?)然后就用easypoi再写一份,正好下面分享一下

	private Workbook exportSheetByTemplate(List<ExcelExport> list) {

        // 设置导出配置
        // 获取导出excel指定模版
        String path = 这里放地址;
        TemplateExportParams params = new TemplateExportParams(path);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("list", list);
        return ExcelExportUtil.exportExcel(params, map);
    }

    public String exportExcel(String title, HttpServletResponse response, List<ExcelExport> list) {
        // 获取workbook对象
        Workbook workbook = exportSheetByTemplate(list);

//        getBaseCellStyle(workbook);
        // 判断数据
        if (workbook == null) {
            return "1";
        }
        // 设置excel的文件名称
        String fileName = title + ".xlsx";
        // 重置响应对象
        response.reset();
        try {
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        response.setContentType("text/html;charset=utf-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        // 写出数据输出流到页面
        try {
            OutputStream output = response.getOutputStream();
            BufferedOutputStream bufferedOutPut = new BufferedOutputStream(output);
            workbook.write(bufferedOutPut);
            bufferedOutPut.flush();
            bufferedOutPut.close();
            output.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "0";
    }

不知道咋这里模板里得实体写t,有没有大佬解释一下
表头是两层哈,毕竟模板随便怎么搞都行
在这里插入图片描述
在这里插入图片描述
oh差点忘记放jar包了

		<dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.2.0</version>
        </dependency>

搞起,有是写bug的一天
谁能想到每天写bug的程序员居然还要参加年会的开场舞跟部门舞,还都是我排,天,十几二十天边上班边学两个舞,以后不能说自己会跳舞了,我的特长——胸口碎大石,这总不要我表演了吧
🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值