easy-excel 导出excel自定义列格式

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

代码

@RequestMapping(value = "export",method = RequestMethod.GET)
    public void export(HttpServletResponse response) throws Exception {


        ServletOutputStream outputStream = response.getOutputStream();



        ExcelWriter excelWriter = EasyExcelFactory.getWriter(outputStream);

        Table table = new Table(1);


        String filename = "测试";
        response.setContentType("application/octet-stream");
        // 中文文件名编码
        response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename+".xlsx", "UTF-8"));





        //获取数据
        List<List<Object>> list = getData();


        String  khmc = "客户A";
        String cjr = "创建人A";
        String zbrq = " 2020/11/14";

        //表头
        List<List<String>> headList = new ArrayList<List<String>>();

        // 第 n 列 的表头
        List<String> headTitle0 = new ArrayList(4);
        List<String> headTitle1 = new ArrayList(4);
        List<String> headTitle2 = new ArrayList(4);
        List<String> headTitle3 = new ArrayList(4);
        List<String> headTitle4 = new ArrayList(4);
        List<String> headTitle5 = new ArrayList(4);
        List<String> headTitle6 = new ArrayList(4);
        List<String> headTitle7 = new ArrayList(4);
        List<String> headTitle8 = new ArrayList(4);
        List<String> headTitle9 = new ArrayList(4);
        List<String> headTitle10 = new ArrayList(4);
        List<String> headTitle11 = new ArrayList(4);
        List<String> headTitle12 = new ArrayList(4);
        List<String> headTitle13 = new ArrayList(4);
        List<String> headTitle14 = new ArrayList(4);
        List<String> headTitle15 = new ArrayList(4);
        List<String> headTitle16 = new ArrayList(4);
        List<String> headTitle17 = new ArrayList(4);
        List<String> headTitle18 = new ArrayList(4);
        List<String> headTitle19 = new ArrayList(4);
        List<String> headTitle20 = new ArrayList(4);
        List<String> headTitle21 = new ArrayList(4);
        List<String> headTitle22 = new ArrayList(4);


        headTitle0.add("对账单名称:"+khmc);
        headTitle0.add("客户名称:"+cjr);
        headTitle0.add("制表日期:"+zbrq);
        headTitle0.add("序号");


        headTitle1.add("对账单名称:"+khmc);
        headTitle1.add("客户名称:"+cjr);
        headTitle1.add("制表日期:"+zbrq);
        headTitle1.add("订单编号");

        headTitle2.add("对账单名称:"+khmc);
        headTitle2.add("客户名称:"+cjr);
        headTitle2.add("制表日期:"+zbrq);
        headTitle2.add("客户类型");

        headTitle3.add("对账单名称:"+khmc);
        headTitle3.add("客户名称:"+cjr);
        headTitle3.add("制表日期:"+zbrq);
        headTitle3.add("客户名称");


        headTitle4.add("对账单名称:"+khmc);
        headTitle4.add("客户名称:"+cjr);
        headTitle4.add("制表日期:"+zbrq);
        headTitle4.add("用车时间");



        headTitle5.add("对账单名称:"+khmc);
        headTitle5.add("客户名称:"+cjr);
        headTitle5.add("制表日期:"+zbrq);
        headTitle5.add("订车人");

        headTitle6.add("对账单名称:"+khmc);
        headTitle6.add("客户名称:"+cjr);
        headTitle6.add("制表日期:"+zbrq);
        headTitle6.add("用车人");

        headTitle7.add("对账单名称:"+khmc);
        headTitle7.add("客户名称:"+cjr);
        headTitle7.add("制表日期:"+zbrq);
        headTitle7.add("业务类型");

        headTitle8.add("对账单名称:"+khmc);
        headTitle8.add("客户名称:"+cjr);
        headTitle8.add("制表日期:"+zbrq);
        headTitle8.add("车辆级别");

        headTitle9.add("对账单名称:"+khmc);
        headTitle9.add("客户名称:"+cjr);
        headTitle9.add("制表日期:"+zbrq);
        headTitle9.add("司机");


        headTitle10.add("对账单名称:"+khmc);
        headTitle10.add("客户名称:"+cjr);
        headTitle10.add("制表日期:"+zbrq);
        headTitle10.add("出发地");


        headTitle11.add("对账单名称:"+khmc);
        headTitle11.add("客户名称:"+cjr);
        headTitle11.add("制表日期:"+zbrq);
        headTitle11.add("目的地");


        headTitle12.add("对账单名称:"+khmc);
        headTitle12.add("客户名称:"+cjr);
        headTitle12.add("制表日期:"+zbrq);
        headTitle12.add("中途停靠点");


        headTitle13.add("对账单名称:"+khmc);
        headTitle13.add("客户名称:"+cjr);
        headTitle13.add("制表日期:"+zbrq);
        headTitle13.add("行驶时间");

        headTitle14.add("对账单名称:"+khmc);
        headTitle14.add("客户名称:"+cjr);
        headTitle14.add("制表日期:"+zbrq);
        headTitle14.add("行驶里程");


        headTitle15.add("对账单名称:"+khmc);
        headTitle15.add("客户名称:"+cjr);
        headTitle15.add("制表日期:"+zbrq);
        headTitle15.add("车租+司机服务费");


        headTitle16.add("对账单名称:"+khmc);
        headTitle16.add("客户名称:"+cjr);
        headTitle16.add("制表日期:"+zbrq);
        headTitle16.add("超时费");


        headTitle17.add("对账单名称:"+khmc);
        headTitle17.add("客户名称:"+cjr);
        headTitle17.add("制表日期:"+zbrq);
        headTitle17.add("超公里");


        headTitle18.add("对账单名称:"+khmc);
        headTitle18.add("客户名称:"+cjr);
        headTitle18.add("制表日期:"+zbrq);
        headTitle18.add("路桥费");


        headTitle19.add("对账单名称:"+khmc);
        headTitle19.add("客户名称:"+cjr);
        headTitle19.add("制表日期:"+zbrq);
        headTitle19.add("停车费");



        headTitle20.add("对账单名称:"+khmc);
        headTitle20.add("客户名称:"+cjr);
        headTitle20.add("制表日期:"+zbrq);
        headTitle20.add("其他");



        headTitle21.add("对账单名称:"+khmc);
        headTitle21.add("客户名称:"+cjr);
        headTitle21.add("制表日期:"+zbrq);
        headTitle21.add("合计");

        headTitle22.add("对账单名称:"+khmc);
        headTitle22.add("客户名称:"+cjr);
        headTitle22.add("制表日期:"+zbrq);
        headTitle22.add("订单状态");


        headList.add(headTitle0);
        headList.add(headTitle1);
        headList.add(headTitle2);
        headList.add(headTitle3);
        headList.add(headTitle4);
        headList.add(headTitle5);
        headList.add(headTitle6);
        headList.add(headTitle7);
        headList.add(headTitle7);
        headList.add(headTitle8);
        headList.add(headTitle9);
        headList.add(headTitle10);
        headList.add(headTitle11);
        headList.add(headTitle12);
        headList.add(headTitle13);
        headList.add(headTitle14);
        headList.add(headTitle15);
        headList.add(headTitle16);
        headList.add(headTitle17);
        headList.add(headTitle18);
        headList.add(headTitle19);
        headList.add(headTitle20);
        headList.add(headTitle21);
        headList.add(headTitle22);

        table.setHead(headList);


        //表单
        Sheet sheet = new Sheet(1,0);
        sheet.setSheetName("数据");

        excelWriter.write1(list,sheet,table);

        excelWriter.finish();

    }


    public List<List<Object>> getData() throws Exception {


        List<List<Object>>  result= new ArrayList(23);

        for (int i =0;i<20;i++) {
            List<Object> list = new ArrayList<>();

            list.add(i);
            list.add("订单编号");
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add(i);
            list.add("合计");

            result.add(list);
        }
        List list = new ArrayList<>();

        list.add("如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对如果您对");
        result.add(list);


        List list2 = new ArrayList<>();
        list2.add("公司接受..............公司接受...............公司接受...............公司接受................");
        result.add(list2);


        List list3 = new ArrayList<>();
        list3.add("公司名称:");
        result.add(list3);

        List list4 = new ArrayList<>();
        list4.add("公司账户:");
        result.add(list4);

        List list5 = new ArrayList<>();
        list5.add("开户行:");
        result.add(list5);


        List list6 = new ArrayList<>();
        list6.add("公司账户:");
        result.add(list6);


        List list7 = new ArrayList<>();
        list7.add("开户行:");
        result.add(list7);

        List list8 = new ArrayList<>();
        list8.add("公司地址:");
        result.add(list8);

        List list9 = new ArrayList<>();
        list9.add("电话:");
        result.add(list9);

        List list10 = new ArrayList<>();
        list10.add("传真:");
        result.add(list10);

        return result;
    };

maven 依赖

	<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.6</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.17</version>
        </dependency>


        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring Boot 是一个轻量级的开发框架,可以快速构建和部署应用程序。Easy Excel 是一个开源的 Java Excel 解决方案,可以轻松实现 Excel 的读写和操作。Spring Boot 整合 Easy Excel 可以实现快速、简单且高效的 Excel 数据处理。 首先,我们需要在 pom.xml 文件中添加 Easy Excel 的依赖。然后,我们可以使用 @EnableEasyExcel 注解来启用 Easy Excel,并配置 Easy Excel 的属性,比如读取 Excel 文件的位置、写入 Excel 文件的位置、读写 Excel 文件的格式等等。 我们可以通过定义一个 Excel 模型来规定读取和写入 Excel 文件的格式Excel 模型可以包含多个 Excel 表,并且每个 Excel 表可以包含多个表头和数据行。我们可以通过在 Excel 模型中定义注解来指定 Excel 的表头和数据行字段的属性,使得读写 Excel 文件更加方便快捷。 可以使用 Easy Excel 提供的 ExcelWriter 和 ExcelReader 类来进行 Excel 文件的读取和写入。ExcelWriter 实例可以通过 write 方法写入 Excel 文件,ExcelReader 实例可以通过 read 方法读取 Excel 文件。我们可以使用 Easy Excel 提供的监听器和回调函数来实现 Excel 文件的读取与写入的监听和反馈,使得 Excel 数据的读取和写入更加友好和可靠。 总之,Spring Boot 整合 Easy Excel 可以使得 Excel 数据的读写变得简单、高效、可靠,从而提高了应用程序的开发效率和用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值