今天咱們發佈了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; }
歡迎掃碼加入微信羣