【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();

    }

效果

相关推荐
纪莫7 分钟前
技术面:如何让你的系统抗住高并发的流量?
java·redis·java面试⑧股
spencer_tseng26 分钟前
Unlikely argument type for equals(): JSONObject seems to be unrelated to String
java·equals
爱敲代码的小鱼39 分钟前
事务核心概念与隔离级别解析
java·开发语言·数据库
小冷coding1 小时前
【Java】遇到微服务接口报错导致系统部分挂掉时,需要快速响应并恢复,应该怎么做呢?如果支付服务出现异常如何快速处理呢?
java·开发语言·微服务
一个处女座的程序猿O(∩_∩)O1 小时前
Nacos 中的 Namespace 深度解析:实现多租户隔离的关键机制
java
HeisenbergWDG1 小时前
线程实现runnable和callable接口
java·开发语言
JavaGuide2 小时前
IntelliJ IDEA 2026.1 EAP 发布!拥抱 Java 26,Spring Boot 4 深度支持!
java·后端·mysql·springboot·idea·大厂面试·javaguide
weixin_462446232 小时前
Python 解析 Excel 图表(Chart)信息实战:从 xlsx 中提取标题、字体和数据
python·数据分析·excel·报表自动化
丁一郎学编程2 小时前
测试开发面经
java·开发语言
a程序小傲2 小时前
京东Java面试被问:RPC调用的熔断降级和自适应限流
java·开发语言·算法·面试·职场和发展·rpc·边缘计算