当前位置: 首页 > article >正文

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

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.kler.cn/news/330468.html

相关文章:

  • 华为OD机试 - 分班问题(Java 2024 E卷 200分)
  • 国庆节快乐前端(HTML+CSS+JavaScript+BootStrap.min.css)
  • 3.点位管理改造-列表查询——帝可得管理系统
  • (undone) 阅读 MapReduce 论文笔记
  • 联合体/共同体与结构体的区别
  • SpringBoot 请求和响应
  • Python库pandas之四
  • Java进销存ERP管理系统源码
  • 如何评估和部署 IT 运维系统?
  • React常见面试题目
  • ubuntu查看端口开放状态
  • npm切换到淘宝镜像
  • 智能教室云平台管理系统:基于Spring Boot、WebSocket与传感器的设计方案
  • 小红书AI配音神器:3秒变声百种风格
  • Redis的基本使用
  • 旅游推荐|旅游推荐系统|基于Springboot+VUE的旅游推荐系统设计与实现(源码+数据库+文档)
  • Go实现RabbitMQ 死信队列、优化
  • 《重生到现代之从零开始的C语言生活》—— 字符函数和字符串函数
  • 数据结构双向链表和循环链表
  • ubuntu 18.04 cuda 11.01 gpgpu-sim 裸机编译