dotnetcore / dotnetcore/Magicodes.IE

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

Open
#397 4 comments 0 reactions 1 assignee Claimed by @hueifeng View on GitHub
area-excel enhancement
Dominant language
C#
Stars
2.2k
Forks
495
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.