Java Excel复杂表头,表头合并单元格

news2024/9/25 19:22:31

Java Excel复杂表头,表头合并单元格

效果预览

在这里插入图片描述

一、maven依赖

 <!--操作excel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
            <scope>compile</scope>
        </dependency>

二、Excel DTO

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.util.Date;

//导出数据成excel  多级头导出  配合测试类
@Data
public class DemoData {

    @ExcelProperty({"序号"})
    private Integer orderNumber;
    
    @ExcelProperty({"一级","二三四级"})
    private String ceshi;
    
    @ExcelProperty({"一级","二级头", "三级头","四级"})
    private String string;

    @ExcelProperty({"一级","二级头", "三级头","四级"})
    private Date date;

    @ExcelProperty({"一级","二级头", "三级头","四级"})
    private Double doubleData;

    @ExcelIgnore
    private String ignore;
}

三、测试类

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.merge.LoopMergeStrategy;

public class Test {

	public static void main(String[] args) {
		Test.mergeWrite();
		System.out.println("hao");
	}
	
	//多级输出excel
    public static void mergeWrite() {
        //创建数据
        List<DemoData> list = new ArrayList<DemoData>();

        for (int i = 0; i < 10; i++) {

            DemoData data = new DemoData();
            data.setOrderNumber(i);
            data.setCeshi("测试");

            data.setString("测试" + i);

            data.setDate(new Date());

            data.setDoubleData(0.820);

            list.add(data);

        }
        //文件名
        String fileName = System.currentTimeMillis()+".xlsx";
        
        // 每隔2行会合并 把eachColumn 设置成 3 也就是我们数据的长度,所以就第一列会合并。当然其他合并策略也可以自己写
        LoopMergeStrategy loopMergeStrategy = new LoopMergeStrategy(2, 1);
        
        // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
        EasyExcel.write(fileName, DemoData.class).registerWriteHandler(loopMergeStrategy).sheet("合并单元格")
                .doWrite(list);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1971174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sqlserver查询链接服务器数据问题,如何解决??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

群晖NAS使用Docker命令方式安装cpolar内网穿透工具详细流程

文章目录 前言1. 检查安装Container Manager2. 检查开启群晖SSH连接3. Windows SSH 连接群晖4. 下载Cpolar 镜像5. 群晖Docker安装Cpolar 前言 在某些群晖NAS型号版本&#xff0c;无法使用套件安装的时候&#xff0c;我们可以采用Docker的方式进行安装cpolar内网穿透工具&…

连接未来:幂简集成引领API新时代

写在前面 在这个信息爆炸的数字时代&#xff0c;我们迎来了所谓的"数据的黄金时代"。数据不仅仅是数字和信息的集合&#xff0c;它已经成为推动现代企业决策、创新和增长的关键资产。 而API作为数据流通的桥梁&#xff0c;在现代互联网架构中发挥着至关重要的作用。…

Stability AI推出Stable Fast 3D:从单个图像快速生成 3D 模型资产

Stable Fast 3D是Stability AI公司推出的一款革命性的3D资产生成技术&#xff0c;它能够在0.5秒内将单张输入图像转化为详尽的3D模型&#xff0c;为3D重建领域带来了速度和质量上的显著提升。这项技术不仅生成UV展开网格、材料参数和反照率颜色&#xff0c;还支持用户选择四边形…

thinkphp8开发的广告联盟网站系统源码

这款程序是采用国内主流的PHP框架&#xff0c;最新版本thinkphp8.0.4&#xff0c;也是目前市面上功能相对比较强大&#xff0c;界面比较好看的一款全开源的广告联盟系统&#xff0c;程序支持任意二开商业&#xff0c;并且代码无任何加密处理。 程序开发&#xff1a;PHPMySQL …

【ROS 最简单教程 001/300】ROS 概念介绍:机器人元操作系统

ROS&#xff1a;Robot Operating System 【适用于机器人的开源元操作系统】 ROS Plumbing Tools Capabilities Ecosystem 通讯 Plumbing ⭐ 实现ROS不同节点之间的交互工具 Tools ⭐ 工具软件包 (ROS中的开发和调试工具)&#xff0c;提供 仿真 功能&#xff1b;功能 Capabi…

苹果10使用操作

1、关闭应用&#xff1a;要关闭iPhone X的后台任务&#xff0c;必须在多任务界面长按应用卡片&#xff0c;这时缩略图左上角会出现关闭符号&#xff0c;点击关闭符号或者上滑卡片都可以关闭。 注意&#xff1a;在没有长按触发关闭符号的情况下&#xff0c;上滑任务卡片是无法关…

大数据技术原理-Hadoop的安装

摘要 随着大数据时代的到来&#xff0c;Hadoop作为一项重要的分布式计算框架&#xff0c;其安装与配置是大数据技术学习者必须掌握的技能。本文通过实验报告的形式&#xff0c;详细记录了在虚拟机环境下安装Hadoop并配置其为伪分布式模式的全过程。实验过程中&#xff0c;遇到…

【从零开始一步步学习VSOA开发】 概述

概述 概念 VSOA&#xff08;Vehicle SOA&#xff09;是翼辉为了解决任务关键型系统不能适用当前微服务通信架构问题而设计的⼀个轻量级适用于任务关键领域的微服务通信架构&#xff0c;以方便开发者构建大型分布式松耦合软件系统&#xff0c;且支持并行开发。 特点 其主要特…

PAI-DSW中对齐NoteBook和命令行的Python环境

我在命令行使用 pip 安装了neo4j&#xff0c;但是在NoteBook中却无法import成功&#xff0c;问了Chat-GPT才知道可能是NoteBook和命令行的Python不一致造成的。下面将介绍如何验证NoteBook和命令行的Python环境是否一致&#xff0c;以及如何将NoteBook的Python环境修改成命令行…

0702随机存取存储器RAM

随机存取存储器RAM 7.2随机存取存储器&#xff08;RAM&#xff09;7.2.1静态随机存取存储器&#xff08;SRAM&#xff09;7.2.2同步静态随机存取存储器&#xff08;SSRAM&#xff09;SSRAM的使用特点&#xff1a; 7.2.3 动态随机存取存储器2.DRAM的基本结构 7.2.4 存储器容量的…

抖音上传视频模糊怎么办?模糊视频怎么变高清?

抖音上传视频有时候会遇到视频不清晰的情况&#xff0c;那么自己在遇到不清楚的情况之下怎么办呢&#xff0c;抖音上传视频模糊怎么办&#xff0c;我们要怎么调整? 一、抖音上传视频模糊的原因是什么? 1.前期拍摄不清晰 2.视频压缩方法欠佳、视频传送被系统压缩 3.上传视频…

C++篇:C++入门基础(1)

C前言&#xff1a; C 的发展历史可以追溯到1979年&#xff0c;当时C语言以其效率和灵活性成为广泛使用的系统编程语言&#xff0c;但它也有一些限制&#xff0c;例如缺乏直接支持面向对象编程&#xff08;OOP&#xff09;的特性。 之后Bjarne Stroustrup(也就是C之父)是C的创始…

Linux服务器CPU使用率或CPU负载较高问题的排查及解决方案

本文主要介绍当Linux系统ECS实例CPU使用率或CPU负载较高时&#xff0c;如何排查分析及常见案例说明。 操作场景 在您使用ECS实例过程中&#xff0c;可能会遇到实例CPU使用率或CPU负载持续较高的情况&#xff0c;您可以按照以下步骤排查定位具体问题。 找到影响CPU使用率或CPU…

网页UI大部分风格出手就是另一种形式的高大上

艾斯视觉作为行业ui设计和前端开发领域的从业者&#xff0c;其观点始终认为&#xff1a;网页UI设计是现代互联网技术中不可或缺的一部分&#xff0c;它不仅关系到用户体验&#xff0c;也是品牌形象的重要组成。"网页UI大部分风格出手就是另一种形式的高大上"这个主题…

TCP/IP_IP协议简介

目录 一、IP协议 二、地址管理 2.1 网络划分 2.2 特殊的IP地址 总结 一、IP协议 IP 协议是处于网络层的协议。 【IP协议段格式】 【字段介绍】 4位版本&#xff1a;指定 IP 协议版本&#xff0c;对于 IPv4&#xff0c;就是 4。 4位首部长度&#xff1a;IP 报头&#…

MySQL数据库忘记密码,怎么重新修改密码?

1、停止MySQL数据服务 systemctl stop mariadb 2、跳过权限表检查并启动MySQL mysqld_safe --skip-grant-tables& 使用mysqld_safe --skip-grant-tables&命令后&#xff0c;不需要密码也可以进去MySQL&#xff0c;随便输入密码也是可以进入MySQL的&#xff0c;因为这个…

测试用例设计指南之生命周期及编写要素

软件测试设计是测试过程中重要的测试活动&#xff0c;怎么样设计测试用例能提高我们测试的效率和质量&#xff0c;从以下几个方面做了简单的讲解。 测试用例设计原则 测试用例设计的基本原则包括&#xff1a;有效性、清晰性、可复用性、可维护性、完整性、兼容性、易操作性、…

数据开发/数仓工程师上手指南(六)CDM-DWD层搭建规范及流程

前言 前言这次想聊点出工作技术方面外的内容&#xff0c;DWD该层在写CDM层的时候就提及很多次了大差不差&#xff0c;近期让我感悟较多的话那是那句宁愿犯错也不愿意什么都不做&#xff0c;说这句话如果能够做到&#xff0c;那么执行力也远超过其他人&#xff0c;能力和远见也…

《YARN源码分析一》client 任务提交准备阶段

流程 第一步&#xff1a;上传jar 、配置文件、split 文件 提交任务的文件到hdfs 路径&#xff1a;本地配置获取&#xff1a; yarn.app.mapreduce.am.staging-dir &#xff08;默认&#xff1a;/tmp/hadoop-yarn/staging&#xff09; /tmp/hadoop-yarn/staging/$user/.staging…