Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能

news/2024/11/27 6:58:23/

目录

  • Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能
    • 需求原型:
    • 相关数据:
      • 要导出的对象字段
      • postman 格式
      • 导出对象VO
    • 自定义批注拦截器
      • 业务代码:
    • 拦截器代码解释:
      • 详细解释:
      • 格式优化:

Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能

工作中用 Easy Excel 实现导出时,需要把一些数据以【批注】的方式实现。

Easy Excel 官网

需求原型:

要实现这个批注,因为【佣金配置】字段原本是一个对象。
对象是无法导出的,所以现在改成批注的形式来显示。

如图:

在这里插入图片描述

相关数据:

要导出的对象字段

这个是佣金字段对象,里面是三个map类型的字段。

在这里插入图片描述

postman 格式

查出来的数据大概长这样,但是 EasyExcel 不支持导出对象,所以打算把数据以【批注】的形式导出来

在这里插入图片描述

导出对象VO

这是导出数据的接收对象,这里因为无法导出对象类型的字段数据,所以我把数据改成String类型了。

在这里插入图片描述

把类型从【RiderCommissionConfigDto】改成【String】,那么导出来的数据是这样的。

在这里插入图片描述

自定义批注拦截器

业务代码:

如图解释:

1、查出来的导出数据中,【佣金设置】字段的数据类型是【RiderCommissionConfigDto】对象类型

2、在把查出来的【FinanceRiderListDto】数据类型,转成【FinanceRiderListExportVo】这个导出对象类型时,需要把【RiderCommissionConfigDto】对象转成【String】类型,然后设置进VO对象中。

导出时,涉及到【批注拦截器】的代码,用红框画出来了。

在这里插入图片描述

接着继续看代码:

这里在把数据写入到 Excel 中时,每写入一行数据,就会调用一次自定义拦截器

在这里插入图片描述

拦截器代码解释:

context 是 RowWriteHandlerContext 类型的对象,它提供了对当前行的访问。

getRow() 方法返回当前行的 Row 对象,代表当前行在 Excel 中的所有单元格。

getCell(int colIndex) 是 Row 对象的方法,用于获取指定列索引(colIndex)的单元格对象,colIndex 是列的索引,从 0 开始计数。

cell 是 Cell 类型的对象,它代表一个 Excel 单元格。如图:context.getRow().getCell(colIndex) 来获取单元格对象

详细解释:

在这里插入图片描述
在这里插入图片描述

格式优化:

在这里插入图片描述


http://www.ppmy.cn/news/1550274.html

相关文章

IMX 平台UART驱动情景分析:read篇--从硬件驱动到行规程的全链路剖析

往期内容 本专栏往期内容:Uart子系统 UART串口硬件介绍深入理解TTY体系:设备节点与驱动程序框架详解Linux串口应用编程:从UART到GPS模块及字符设备驱动 解UART 子系统:Linux Kernel 4.9.88 中的核心结构体与设计详解IMX 平台UART驱…

嵌入式的C/C++:深入理解 inline 、extern与 extern “C“的用法与特点

目录 一、inline 1、什么是 inline 函数 2、inline 的使用方法 3、使用 inline 的注意事项 4、inline 的优缺点 5、inline 和 宏的比较 6、小结 二、extern 1. 使用场景 2. 特点和注意事项 三、extern "C" 1. 为什么需要 extern "C" 2. 使用场…

一个专为云原生环境设计的高性能分布式文件系统

大家好,今天给大家分享一款开源创新的分布式 POSIX 文件系统JuiceFS,旨在解决海量云存储与各类应用平台(如大数据、机器学习、人工智能等)之间高效对接的问题。 项目介绍 JuiceFS 是一款面向云原生设计的高性能分布式文件系统&am…

001 MATLAB介绍

前言: 软件获取渠道有很多,难点也就是百度网盘下载慢; 线上版本每月有时间限制。 01 MATLAB介绍 性质: MATLAB即Matrix Laboratory 矩阵实验室的意思,是功能强大的计算机高级语言, 已广泛应用于各学科研究部门、…

计算两数之和

1、输入的值固定 package org.example;import java.util.Arrays; import java.util.*; import java.util.Scanner;public class Main {public static void main(String[] args) {//在静态方法中调用非静态方法,需要先创建该类的实例,然后通过实例来调用…

使用ENSP实现默认路由

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为2.2.2.1/24 ip address 2.2.2.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为1.…

第三届航空航天与控制工程国际 (ICoACE 2024)

重要信息 会议官网:www.icoace.com 线下召开:2024年11月29日-12月1日 会议地点:陕西西安理工大学金花校区 (西安市金花南路5号) 大会简介 2024年第三届航空航天与控制工程国际学术会议(ICoACE 2024&a…

jmeter使用方法简介以及一个自动测试解决方案

目录 一 jmeter是什么二 jmeter下载以及部署2.1 下载2.2 安装部署 三 jmeter使用方法3.1 图形化界面3.2 命令行3.3 动态传参 四 一个自动测试解决方案五 其他 这篇文章讨论一下jmeter工具的使用方法,以Linux发行版debian为例,Windows下使用方法类似。 一…