Magicodes.IE icon indicating copy to clipboard operation
Magicodes.IE copied to clipboard

建议完善导入时,单元格内容转换功能。将单元格内容转换抽象为接口。

Open ywscr opened this issue 3 years ago • 4 comments

导入时,单元格内容可以自动转换为bool、枚举或通过 ValueMapping将值进行“映射式”转换。 建议将转换抽象为IValueConverter接口,通过IImportHeaderFilter或特性方式由用户自定义转换方式。 实现思路: 1.将ImporterHeaderInfo.cs中的 public Dictionary<string, dynamic> MappingValues { get; set; } = new Dictionary<string, dynamic>(); 改为:public Func<string, dynamic> ValueConverter { get; set; } 2.由用户按需编写Func<string, dynamic>。 3.为了方便用户使用:将Dictionary<string, dynamic>转换器设定为默认转换方式。同样BoolConverter、EnumConverter等转换器作为系统转换器供用户选择。 public class DicConverter: IValueConverter { public Dictionary<string, dynamic>DicValues { get; set; } = new Dictionary<string, dynamic>(); public dynamic ConverTo(string str) { if (DicValues.ContainsKey(str)) { return DicValues[str]; } return str; } }

ywscr avatar Apr 16 '22 13:04 ywscr

@ywscr 好想法,我们提上日程,当然,不知道你有没有想法提交这个PR?

hueifeng avatar Apr 18 '22 10:04 hueifeng

@hueifeng hueifeng 我对Magicodes.IE项目还不熟悉,目前正忙于完成一项工作。一个月后我可以试试。

ywscr avatar Apr 18 '22 12:04 ywscr

感谢

hueifeng avatar Apr 18 '22 16:04 hueifeng

可以试试这个: https://github.com/dotnetcore/Magicodes.IE/pull/498

wlclass avatar Mar 31 '23 06:03 wlclass