EasyExcel全面实战:掌握多样化的Excel导出能力

news/2024/9/28 23:12:14 标签: excel, easyexcel

1 概述

本文将通过实战案例全面介绍EasyExcel在Excel导出方面的多种功能。内容涵盖多表头写入、自定义格式、动态表头生成、单元格合并应用等。通过这些实例,读者可以掌握EasyExcel的各种高级功能,并在实际项目中灵活应用。

白日依山尽,黄河入海流。
欲穷千里目,更上一层楼。

入门和大数据导出性能请参考文章 使用EasyExcel高效导出20万条记录至Excel

2 实战

谁在用琵琶弹奏一曲东风破,枫叶将故事染色。
结局我看透,篱笆外的古道我牵着你走过。

2.1 多表头写入

模型注解如下:

package org.example;

import com.alibaba.excel.annotation.ExcelProperty;

import java.util.Date;

/**
 * 数据模型
 */
public class Data {
   


    /**
     * 名称
     */
    @ExcelProperty(value = {
   "分组", "名称"})
    private String name;


    /**
     * 值
     */
    @ExcelProperty(value = {
   "分组", "值"})
    private double value;


    /**
     * 日期
     */
    @ExcelProperty(value = "日期")
    private Date date;


    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public double getValue() {
   
        return value;
    }

    public void setValue(double value) {
   
        this.value = value;
    }

    public Date getDate() {
   
        return date;
    }

    public void setDate(Date date) {
   
        this.date = date;
    }
}

写入代码如下:

package org.example;


import com.alibaba.excel.EasyExcel;

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

public class Main {
   


    public static void main(String[] args) {
   

        long currentedTimeMillis = System.currentTimeMillis();
        String fileName = "simpleWrite" + currentedTimeMillis + ".xlsx";
        EasyExcel.write(fileName, Data.class).sheet("导出").doWrite(createDatas());
        System.out.println("导出成功: " + (System.currentTimeMillis() - currentedTimeMillis) + " 毫秒");
    }

    private static List<Data> createDatas() {
   
        List<Data> datas = new ArrayList<>();
        int count = 10;
        for (int i = 1; i <= count; i++) {
   

            Data data = new Data();
            data.setName("name" + i);
            data

http://www.niftyadmin.cn/n/5682036.html

相关文章

秦巴山区SHP格式矢量范围

‌秦巴山区的shp范围包括河南、湖北、重庆、四川、陕西、甘肃六省市的80个县(市、区)。‌这一区域不仅地理范围广泛&#xff0c;而且生态多样性丰富&#xff0c;是国家重要的生物多样性和水源涵养生态功能区。秦巴山区的地貌类型以山地丘陵为主&#xff0c;间有汉中、安康、商丹…

【C++】继承,菱形继承,虚拟继承,组合详解

目录 1. 继承概念与定义 1.1 概念 1.2 定义 2. 父类与子类的赋值规则 3. 继承的作用域 4. 子类的默认成员函数 5. 继承与友元 6. 继承与静态成员 7. 菱形继承 7.1 继承关系 7.2 菱形继承的问题 7.3 虚拟继承 8. 继承与组合 1. 继承概念与定义 1.1 概念 1. 继承&a…

open-resty 服务安装redis插件

从github下载 作者&#xff1a;程序那点事儿 日期&#xff1a;2023/11/16 22:04 lua-resty-redis-cluster cd /usr/local/openresty/modules #进入到modules目录git clone https://github.com/cuiweixie/lua-resty-redis-cluster.git #下载插件mv lua-resty-redis-cluster/ …

使用 Spring Boot 和 EasyExcel 进行动态表头导出 Excel

引言 在企业级应用中&#xff0c;经常需要将数据导出为 Excel 文件&#xff0c;以便用户进行分析和查看。Spring Boot 结合 EasyExcel 可以非常方便地实现这一需求。本文将详细介绍如何使用 Spring Boot 和 EasyExcel 进行动态表头的 Excel 导出。 环境准备 1. 添加依赖 首…

【球形空间产生器】

题目 代码 #pragma GCC optimize(3) #include <bits/stdc.h> using namespace std; const double eps 1e-6; const int N 12; double g[N][N]; double ss[N]; int n; void gauss() {int c, r, t;for(c 1, r 1; c < n; c){int t r;for(int i r1; i < n; i)i…

Java---异常及处理

一.异常 1.概念 程序的非正常执行。高级语言都有异常处理机制&#xff08;C&#xff0c;Java&#xff09; 2.一般处理异常的方法 Scanner sc new Scanner(System.in);System.out.println("请输入一个数字:");String s sc.nextLine();if (s.matches("[0-9]&qu…

传知代码-基于图神经网络的知识追踪方法(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 1.论文概述 论文链接提出了一种基于图神经网络的知识追踪方法&#xff0c;称为基于图的知识追踪&#xff08;GKT&#xff09;。将知识结构构建为图&#xff0c;其中节点对应于概念&#xff0c;边对应于它们之间的…

用通义灵码如何快速合理解决遗留代码问题?

本文首先介绍了遗留代码的概念&#xff0c;并对遗留代码进行了分类。针对不同类型的遗留代码&#xff0c;提供了相应的处理策略。此外&#xff0c;本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。 什么是遗留代码 与过时技术相关的代码&#xff1a; 与不再受支持的…