Magicodes.IE 2.5版本发布
今天我們發(fā)布了2.5版本,這當(dāng)然也離不開(kāi)大家對(duì)Magicodes.IE的支持,今天我也是跟往常一樣列舉了該版本一些重要的更新內(nèi)容。
當(dāng)然也要說(shuō)一下,在這個(gè)版本中我們?cè)O(shè)計(jì)了全新的LOGO。
Excel導(dǎo)出
Excel導(dǎo)出支持HeaderRowIndex?#164
(https://github.com/dotnetcore/Magicodes.IE/issues/164)
在ExcelExporterAttribute導(dǎo)出特性類(lèi)中添加HeaderRowIndex屬性,方便導(dǎo)出時(shí)去指定從第一行開(kāi)始導(dǎo)出。
增加Excel枚舉導(dǎo)出對(duì)DescriptionAttribute的支持?#168
(https://github.com/dotnetcore/Magicodes.IE/issues/168)
在導(dǎo)出枚舉類(lèi)型時(shí)起初我們可以通過(guò)ValueMapping和導(dǎo)出枚舉本身的字符串名稱(chēng),在現(xiàn)在我們可以通過(guò)?DescriptionAttribute、?DisplayAttribute,?DisplayNameAttribute?實(shí)現(xiàn)Text值導(dǎo)出。
enum Sex {/// <summary>/// 男/// </summary>[Description("男")]boy = 1,/// <summary>/// 女/// </summary>[Description("女")]girl = 2 }TableStyle修改為枚舉類(lèi)型
在這之前我們將TableStyle屬性放在了ExporterAttribute基礎(chǔ)特性中,起初我們的TableStyle屬性為字符串, 但是帶給了我們不必要的麻煩,很難讓使用者去查找這些樣式名稱(chēng),所以此處我們將其換成了枚舉類(lèi)型,方便使用者從列表中 進(jìn)行查找相關(guān)樣式。
[ExcelExporter(Name = "測(cè)試", TableStyle = TableStyles.Light10)]Excel導(dǎo)入
Excel生成導(dǎo)入模板支持內(nèi)置數(shù)據(jù)驗(yàn)證#167
對(duì)于內(nèi)置數(shù)據(jù)驗(yàn)證的支持可通過(guò)IsInterValidation屬性開(kāi)啟,并且需要注意的是僅支持
MaxLengthAttribute、?MinLengthAttribute、?StringLengthAttribute、?RangeAttribute
支持對(duì)內(nèi)置數(shù)據(jù)驗(yàn)證的開(kāi)啟操作。?
支持對(duì)輸入提示的展示操作。
示例代碼如下所示:
public class GenerateStudentImportSheetDataValidationDto{/// <summary>/// 序號(hào)/// </summary>[ImporterHeader(Name = "序號(hào)", IsInterValidation = true)][Range(minimum: 0, maximum: 20, ErrorMessage = "序號(hào)最大為20")]public long SerialNumber { get; set; }/// <summary>/// 學(xué)籍號(hào)/// </summary>[ImporterHeader(Name = "學(xué)籍號(hào)", IsAllowRepeat = false, IsInterValidation = true)][MaxLength(30, ErrorMessage = "學(xué)籍號(hào)字?jǐn)?shù)超出最大限制,請(qǐng)修改!")]public string StudentCode { get; set; }/// <summary>/// 姓名/// </summary>[ImporterHeader(Name = "姓名")][Required(ErrorMessage = "學(xué)生姓名不能為空")][MaxLength(50, ErrorMessage = "名稱(chēng)字?jǐn)?shù)超出最大限制,請(qǐng)修改!")]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 = "最小長(zhǎng)度為5哦")]public string MinTest { get; set; }/// <summary>/// 忽略類(lèi)型/// </summary>[ImporterHeader(Name = "忽略類(lèi)型", 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; } }注意:數(shù)據(jù)范圍驗(yàn)證僅支持DateTime和int類(lèi)型
導(dǎo)入對(duì)ColumnIndex的支持#198
(https://github.com/dotnetcore/Magicodes.IE/issues/198)
導(dǎo)入功能支持ColumnIndex可以通過(guò)去指定某一列數(shù)據(jù)列,這樣在復(fù)雜的列名時(shí)結(jié)構(gòu)時(shí),我們也可以直接輕松的應(yīng)對(duì)。
[ImporterHeader(Name = "年齡", ColumnIndex = 3)] public int? Age { get; set; }https://github.com/dotnetcore/Magicodes.IE
掃碼入群
Magicodes.IE生態(tài)群
轉(zhuǎn)載是一種動(dòng)力 分享是一種美德
如果喜歡作者的文章,請(qǐng)關(guān)注【麥扣聊技術(shù)】訂閱號(hào)以便第一時(shí)間獲得最新內(nèi)容。本文版權(quán)歸作者和湖南心萊信息科技有限公司共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
原文作者:HueiFeng
文檔官網(wǎng):docs.xin-lai.com
QQ群:
編程交流群<85318032>?
產(chǎn)品交流群<897857351>
總結(jié)
以上是生活随笔為你收集整理的Magicodes.IE 2.5版本发布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 评估服务基础性能应该参考那些指标?
- 下一篇: 没有Kubernets,学习Docker