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

青岛北京网站建设公司土建设计网站

青岛北京网站建设公司,土建设计网站,东莞高风险地区名单最新,wordpress的用户名密码✅ 背景说明EasyExcel 原生的 ExcelProperty 注解不支持 dictType(不像那样有 Excel(dictType"xxx")),所以如果你想实现字典翻译功能,就需要自己实现 Converter 接口,比如 DictConvert。✅ 什么是 DictConve…

✅ 背景说明

EasyExcel 原生的 @ExcelProperty 注解不支持 dictType(不像那样有 @Excel(dictType="xxx")),所以如果你想实现字典翻译功能,就需要自己实现 Converter 接口,比如 DictConvert


✅ 什么是 DictConvert

DictConvert 是你可以 自定义的通用字段转换器类,其核心思想是:

  • 输入参数:字典类型 dictType(比如 "sys_user_status"

  • 行为

    • Java 值 "1" → Excel 中显示 "启用"

    • Excel 显示 "启用" → Java 中变成 "1"


✅ 接口定义

下面是一个典型的 DictConvert 实现

是一个 Excel 导入导出过程中的 数据字典转换器 DictConvert,它是配合 EasyExcel 使用的,用于将 Excel 中的“中文字段”与系统中的“字典值”进行自动双向转换

方向行为说明
Excel → Java中文值 ⇒ 字典编码如 “启用” → "1"
Java → Excel字典编码 ⇒ 中文值如 "1" → “启用”

 并且通过自定义注解 @DictFormat("dictType") 标注字段,让你不需要为每个字段写单独的 Converter

/*** Excel 数据字典转换器** @author 芋道源码*/
@Slf4j
public class DictConvert implements Converter<Object> {@Overridepublic Class<?> supportJavaTypeKey() {throw new UnsupportedOperationException("暂不支持,也不需要");}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {throw new UnsupportedOperationException("暂不支持,也不需要");}@Overridepublic Object convertToJavaData(ReadCellData readCellData, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration) {// 使用字典解析String type = getType(contentProperty);String label = readCellData.getStringValue();String value = DictFrameworkUtils.parseDictDataValue(type, label);if (value == null) {log.error("[convertToJavaData][type({}) 解析不掉 label({})]", type, label);return null;}// 将 String 的 value 转换成对应的属性Class<?> fieldClazz = contentProperty.getField().getType();return Convert.convert(fieldClazz, value);}@Overridepublic WriteCellData<String> convertToExcelData(Object object, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration) {// 空时,返回空if (object == null) {return new WriteCellData<>("");}// 使用字典格式化String type = getType(contentProperty);String value = String.valueOf(object);String label = DictFrameworkUtils.parseDictDataLabel(type, value);if (label == null) {log.error("[convertToExcelData][type({}) 转换不了 label({})]", type, value);return new WriteCellData<>("");}// 生成 Excel 小表格return new WriteCellData<>(label);}private static String getType(ExcelContentProperty contentProperty) {return contentProperty.getField().getAnnotation(DictFormat.class).value();}}

 


✅ 使用方法

你在导出类中这样使用:

@ExcelProperty(value = "状态", converter = UserStatusDictConvert.class) private String status;

或者想进一步封装成通用的用法(多个字段共享)可借助策略或注册器统一配置。


✅ 总结一下

项目说明
名称DictConvert 是自定义的 EasyExcel 通用字段转换器
作用实现字典值与显示名称之间的双向转换
用途用于 Excel 的导入导出字段字典翻译
优点多字段通用、支持动态加载字典(如从 Redis、数据库)

http://www.dtcms.com/a/584644.html

相关文章:

  • 我国档案网站建设家装设计师工资高吗
  • 教育课程网站建设网页云原神
  • 章贡区综合网站建设商家林业网站模板
  • 做soho外贸网站网站开发项目启动成本
  • 许昌市住房和城乡建设部网站网站策划书的基本内容
  • html5手机网站开发免费网络在线打电话
  • 广州微网站建设哪家好免费代运营
  • 小型电子商务网站规划新会网站设计
  • 企业网站模板源码资源下载企石做网站
  • 南宁网站建设哪网上电商教程
  • 张掖公司网站制作wordpress 列表页
  • 那些网站反爬做的好一步一步网站建设教程
  • 苏州 做网站合肥网站制作需
  • 网站seo视频网站什么模板做的
  • 做洗衣液的企业网站受欢迎的手机网站建设
  • 如何利用NAS做网站承接各类网站建设
  • 建网站要会什么域名批量查询
  • 自己做网站的难度花钱也可以哪些网站可以做推广广告
  • 新手做网站的几个必要步骤公众号软文怎么写
  • 手工包网站建设策划书广州建设网站的公司简介
  • 灵武市建设银行网站游戏网站logo制作
  • 然后做服装网站怎么设置网址
  • 酒泉网站建设哪家好句容建设质检站网站
  • 保定市住房保障和城乡建设局网站企业名录搜索软件现在那个能用
  • 杭州网站建设seo设计类网站建设规划书
  • 秦皇岛做网站seo的企业网站管理源码
  • 外贸自助建站专线怎么做网站服务器
  • 网站备案密码收不到学校网站建设需求分析调研表
  • 什么样的网站空间做电影网站不卡有那些专门做财务分析的网站
  • 自己设计logo网站获取网站服务器信息