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

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

目录

  • 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.kler.cn/a/408773.html

相关文章:

  • Mysql中的 TEXT 和 BLOB 解析
  • MAC地址是什么和怎么查找电脑的MAC地址
  • PHP屏蔽海外IP的访问页面(源代码实例)
  • 量子卷积神经网络
  • MySQL面试题补
  • 鸿蒙NEXT开发案例:随机数生成
  • 鸿蒙学习高效开发与测试-测试工具(5)
  • IM项目-----ElasticSearch
  • C++游戏《密室逃脱2.0》预告
  • 【云计算】CentOS7.9. LVM扩容实战小记
  • private static final long serialVersionUID = 1L
  • 基于微信小程序的教室预约系统+LW示例参考
  • leetcode:124二叉树中最大路径和
  • opencv细节
  • unity小:URP下shaderGraph管道流光效果(节奏速率可控)
  • 数据源的统一与拆分 apache calcite 的雄心与现实
  • Unity图形学之边缘检测
  • moduo之线程池ThreadPool
  • JavaScript中的箭头函数以及编写优化
  • Java安卓导航栏设计开发(实战篇)——第十一期
  • mysql-分析并解决mvcc更新丢失问题
  • shell完结
  • git标签和分支
  • 如何在WPF中嵌入其它程序
  • 数据结构--链表实现栈和队列
  • 构建功能完备的Flask Web应用