[alibaba/easyexcel]如何实现对字典数据的翻译

2024-05-16 194 views
9

2.x版本我是通过 注解的value进行处理的,如下注解: @ExcelProperty(value = "生效合同附件(已上传_1,未上传_0)", converter = EasyExcelUtils.DictConverter.class) 3.x发现我无法获取到注解的值,有更好的方案或者获取方式?

建议提供一个字段数据处理的方案;

回答

9

我们是直接将字典存储在数据库字典表,load到缓存中再进行翻译

7

我们是直接将字典存储在数据库字典表,load到缓存中再进行翻译

这样做是要把数据翻译好,再导出?

8

定义好字典,定义自定义converter在导出的时候mapping进去

5

定义好字典,定义自定义converter在导出的时候mapping进去

2.x的版本 @Override public CellData convertToExcelData(Object value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) { // 生效合同附件(已上传_1,未上传_0) List names = excelContentProperty.getHead().getHeadNameList(); String dictRule = names.get(0); ......... return new CellData<>(String.valueOf(value)); } 3.x的版本不能快速获取到注解中的值了,我就算设置字典mapping进去,我也需要拿到字典的key。不太希望使用类名+字段名作为key值。

6

可以在字段上再加个注解,里面定义字典code之类的东西(eg:Dict),在自定义Converter里面,通过contentProperty.getField().getAnnotation(Dict.class) ,然后再拿到Dict注解设置的值