easyExcel复杂表头导出

代码

java 复制代码
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.AbstractColumnWidthStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
   public static void main(String[] args) {
        String fileName = "E:\\test\\excel2.xlsx";
        // 模拟数据
        List<List<String>> data = new ArrayList<>();
        data.add(Arrays.asList("复杂表头1", "复杂表头2", "复杂表头3", "复杂表头4"));
        data.add(Arrays.asList("数据1", "数据2", "数据3", "数据4"));
        data.add(Arrays.asList("数据5", "数据6", "数据7", "数据8"));

        // 设置表头
        List<List<String>> head = new ArrayList<>();
        head.add(Arrays.asList("填报状态", "表头1"));
        head.add(Arrays.asList("填报状态", "表头2"));
        head.add(Arrays.asList("填报状态", "表头3"));
        head.add(Arrays.asList("填报状态", "表头4"));
        // 创建并设置自适应列宽样式
        AbstractColumnWidthStyleStrategy columnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();

        // 写入Excel
        EasyExcel.write(fileName)
                .head(head)
                .registerWriteHandler(columnWidthStyleStrategy)
                .sheet("Sheet1")
                .doWrite(data);
    }
}

效果图


https://www.baidu.com/s?wd=easyexcel%20%E5%A4%8D%E6%9D%82%E8%A1%A8%E5%A4%B4&rsv_spt=1&rsv_iqid=0x8e01b40100168b4b&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=57095150_7_oem_dg&rsv_enter=1&rsv_dl=tb&rsv_sug3=23&rsv_sug1=21&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&prefixsug=easyexcel%2520%25E5%25A4%258D%25E6%259D%2582%25E8%25A1%25A8%25E5%25A4%25B4&rsp=4&inputT=7789&rsv_sug4=10211

相关推荐
prince052 小时前
用户积分系统怎么设计
java·大数据·数据库
96774 小时前
理解IOC控制反转和spring容器,@Autowired的参数的作用
java·sql·spring
SY_FC4 小时前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
耀耀_很无聊5 小时前
09_Jenkins安装JDK环境
java·运维·jenkins
ノBye~5 小时前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
黑臂麒麟5 小时前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
XiaoLeisj5 小时前
Android Jetpack 页面架构实战:从 LiveData、ViewModel 到 DataBinding 的生命周期管理与数据绑定
android·java·架构·android jetpack·livedata·viewmodel·databinding
⑩-5 小时前
为什么要用消息队列?使用场景?
java·rabbitmq
似水明俊德5 小时前
01-C#.Net-泛型-面试题
java·开发语言·面试·c#·.net
Allnadyy6 小时前
【C++项目】从零实现高并发内存池(一):核心原理与设计思路
java·开发语言·jvm