【EasyExcel】—— 实现excel动态表头设置、多个sheet

引入jar

java 复制代码
 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.0</version>
        </dependency>

代码

java 复制代码
    public static void main(String[] args) {
        //选择存储地址
        String fileName = "/Users/qweasdzxc/Downloads/text.xlsx";

        // 创建ExcelWriterBuilder对象
        ExcelWriter excelWriter = EasyExcelFactory.write(fileName).build();

        //设置动态表头
        List<List<String>> head1 =new ArrayList<>();
        head1.add(Collections.singletonList("姓名"));
        head1.add(Collections.singletonList("年龄"));
        head1.add(Collections.singletonList("性别"));

        //填充数据
        List<List<Object>> data1 = new ArrayList<>();
        data1.add(Arrays.asList("张三", 20, "男"));
        data1.add(Arrays.asList("李四", 25, "女"));

        //放入sheet1中
        //automaticMergeHead 控制是否合并相同标题的单元格 false==不合并
        WriteSheet writeSheet = EasyExcelFactory.writerSheet(0, "学生信息1").head(head1).automaticMergeHead(false).build();
        excelWriter.write(data1, writeSheet);


        List<List<String>> head2 =new ArrayList<>();
        head2.add(Collections.singletonList("学科"));
        head2.add(Collections.singletonList("分数"));

        List<List<Object>> data2 = new ArrayList<>();
        data2.add(Arrays.asList("数学", 90));
        data2.add(Arrays.asList("英语", 85));

        //放入sheet2中
        writeSheet = EasyExcelFactory.writerSheet(1, "学生信息2").head(head2).build();
        excelWriter.write(data2, writeSheet);
        //关流
        excelWriter.finish();

    }

效果

相关推荐
JH30733 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_4 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble4 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟4 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖4 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_12498707536 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_6 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.6 小时前
Day06——权限认证-项目集成
java
瑶山6 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy6 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法