用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的程序员居然还要参加年会的开场舞跟部门舞,还都是我排,天,十几二十天边上班边学两个舞,以后不能说自己会跳舞了,我的特长——胸口碎大石,这总不要我表演了吧
🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟🐟

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
easypoi excel模板指令是一种用于生成Excel文件的Java工具,它使得在Excel模板中填充数据变得简单方便。 使用easypoi excel模板指令的第一步是定义Excel模板。我们可以在Excel中设计好表格的样式,然后将模板保存为.xlsx或.xls格式。接下来,我们需要在模板中标记出数据填充的位置,这可以通过在单元格中插入特定的指令实现。 easypoi excel模板指令中常用的指令有: 1. #foreach:通过此指令实现循环填充列表数据。我们可以在指令中指定一个集合对象,easypoi会自动根据集合的大小将相应的模板区域复制并填充数据。 2. #if和#else:通过此指令可以实现条件判断。我们可以根据条件的满足与否,决定是否填充某个模板区域的数据。 3. #date:此指令用于格式化日期数据。我们可以在指令中指定日期的格式,easypoi会根据指定的格式将日期数据格式化并填充到模板中。 4. #image:通过此指令可以将图片插入到指定的位置。我们可以在指令中指定图片的路径或者将图片加载到项目中,然后将图片对象传入指令。 5. #formula:此指令用于计算Excel中的公式。我们可以在指令中写入公式的字符串,easypoi会自动计算出结果并将结果填充到指定的位置。 以上是easypoi excel模板指令的一些常用指令,通过这些指令,我们可以轻松实现Excel文件的数据填充和格式化操作。同时,easypoi还提供了其他丰富的功能,如单元格样式设置、合并单元格、导出多个sheet等,使得Excel文件的生成更加灵活和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值