欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能

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

2024/11/30 3:35:13 来源:https://blog.csdn.net/weixin_44411039/article/details/144008938  浏览:    关键词: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) 来获取单元格对象

详细解释:

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

格式优化:

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com