今天咱们发布了2.5版本,这固然也离不开你们对Magicodes.IE
的支持,今天我也是跟往常同样列举了该版本一些重要的更新内容。git
固然也要说一下,在这个版本中咱们设计了全新的LOGOgithub
在ExcelExporterAttribute
导出特性类中添加HeaderRowIndex
属性,方便导出时去指定从第一行开始导出。api
在导出枚举类型时起初咱们能够经过ValueMapping和导出枚举自己的字符串名称,在如今咱们能够经过
DescriptionAttribute、
DisplayAttribute,
DisplayNameAttribute
实现Text值导出微信
enum Sex { /// <summary> /// 男 /// </summary> [Description("男")] boy = 1, /// <summary> /// 女 /// </summary> [Description("女")] girl = 2 }
在这以前咱们将TableStyle
属性放在了ExporterAttribute
基础特性中,起初咱们的TableStyle属性为字符串,
可是带给了咱们没必要要的麻烦,很难让使用者去查找这些样式名称,因此此处咱们将其换成了枚举类型,方便使用者从列表中
进行查找相关样式app
[ExcelExporter(Name = "测试", TableStyle = TableStyles.Light10)]
对于内置数据验证的支持可经过IsInterValidation
属性开启,而且须要注意的是仅
支持MaxLengthAttribute、
MinLengthAttribute、
StringLengthAttribute、
RangeAttribute测试
支持对内置数据验证的开启操做。
ui
支持对输入提示的展现操做。设计
示例代码以下所示:excel
public class GenerateStudentImportSheetDataValidationDto { /// <summary> /// 序号 /// </summary> [ImporterHeader(Name = "序号", IsInterValidation = true)] [Range(minimum: 0, maximum: 20, ErrorMessage = "序号最大为20")] public long SerialNumber { get; set; } /// <summary> /// 学籍号 /// </summary> [ImporterHeader(Name = "学籍号", IsAllowRepeat = false, IsInterValidation = true)] [MaxLength(30, ErrorMessage = "学籍号字数超出最大限制,请修改!")] public string StudentCode { get; set; } /// <summary> /// 姓名 /// </summary> [ImporterHeader(Name = "姓名")] [Required(ErrorMessage = "学生姓名不能为空")] [MaxLength(50, ErrorMessage = "名称字数超出最大限制,请修改!")] public string Name { get; set; } /// <summary> /// 年龄 /// </summary> [ImporterHeader(Name = "年龄", IsInterValidation = true)] [Range(minimum: 18, maximum: 20, ErrorMessage = "年龄范围须要在18-20岁哦")] public int Age { get; set; } /// <summary> /// MinTest /// </summary> [ImporterHeader(Name = "MinTest", IsInterValidation = true)] [MinLength(5, ErrorMessage = "最小长度为5哦")] public string MinTest { get; set; } /// <summary> /// 忽略类型 /// </summary> [ImporterHeader(Name = "忽略类型", IsInterValidation = true)] [Range(minimum: 18, maximum: 20, ErrorMessage = "年龄范围须要在18-20岁哦", ErrorMessageResourceType = typeof(string))] public int IgnoreType { get; set; } [ImporterHeader(Name = "出生日期", IsInterValidation = true, ShowInputMessage = "输入日期")] [Range(typeof(DateTime), minimum: "2020-10-20", maximum: "2020-10-24", ErrorMessage = "日期范围超出了哦")] public DateTime Birthday { get; set; } }
注意:数据范围验证仅支持DateTime和int类型code
导入功能支持ColumnIndex
能够经过去指定某一列数据列,这样在复杂的列名时结构时,咱们也能够直接
轻松的应对
[ImporterHeader(Name = "年龄", ColumnIndex = 3)] public int? Age { get; set; }
欢迎扫码加入微信群