Magicodes.IE 2.0发布
Magicodes.IE是我們維護的開源的導入導出通用庫,去年年底已加入NCC開源組織。
Github地址:https://github.com/xin-lai/Magicodes.IE
Magicodes.IE不是一蹴而就,而是根據實際需求不斷迭代出來的,而且歷經多次重構。這一次,趁著春節假期,我們重構并發布了Magicodes.IE 2.0。在這里尤其要感謝一位小伙伴,@hueifeng https://github.com/hueifeng,感謝其在春節期間為Magicodes.IE做出的文檔貢獻。
由于個人和團隊精力有限,Magicodes.IE非常迫切地希望能得到大家的幫助和支持,尤其是代碼和文檔貢獻。如有意向,可以提交PR或者和我直接聯系(公眾號或QQ群均可)。
相關Nuget包
主要更新
Magicodes.IE 2.0主要更新如下所示:
- 完全重構整個導出Excel模塊并且重寫大部分接口 
- 支持列頭篩選器——IExporterHeaderFilter,以便動態更改Excel導出結果 
- public class TestExporterHeaderFilter1 : IExporterHeaderFilter {/// <summary>/// 表頭篩選器(修改名稱)/// </summary>/// <param name="exporterHeaderInfo"></param>/// <returns></returns>public ExporterHeaderInfo Filter(ExporterHeaderInfo exporterHeaderInfo){if (exporterHeaderInfo.DisplayName.Equals("名稱")){exporterHeaderInfo.DisplayName = "name";}return exporterHeaderInfo;}}
- 支持導入結果篩選器——IImportResultFilter,可用于多語言場景的錯誤標注 
- 支持列篩選器(需實現接口【IImportHeaderFilter】),可用于兼容多語言導入等場景 
- /// <summary> /// 導入列頭篩選器測試 /// 1)測試修改列頭 /// 2)測試修改值映射 /// </summary> public class ImportHeaderFilterTest : IImportHeaderFilter {public List<ImporterHeaderInfo> Filter(List<ImporterHeaderInfo> importerHeaderInfos){foreach (var item in importerHeaderInfos){if (item.PropertyName == "Name"){item.Header.Name = "Student";}else if (item.PropertyName == "Gender"){item.MappingValues = new Dictionary<string, dynamic>(){{"男",0 },{"女",1 }};}}return importerHeaderInfos;} }
- 導出Excel支持拆分Sheet,僅需設置特性【ExporterAttribute】的【MaxRowNumberOnASheet】的值,為0則不拆分 
- [ExcelExporter(Name = "測試", TableStyle = "Light10", AutoFitAllColumn = true, MaxRowNumberOnASheet = 100)] public class ExportTestDataWithSplitSheet
- Excel模板導出優化 
- 優化導出性能 - 修復數據項為NULL的異常 - 修復多個Table渲染以及合并單元格渲染的問題 - IExporter再添加兩個動態DataTable導出方法,無需定義Dto即可動態導出數據,并且支持表頭篩選器、Sheet拆分 
 
- 支持傳入標注文件路徑,不傳參則默認同目錄”_”后綴保存 
- 修復日期格式默認導出數字的Bug,默認輸出“yyyy-MM-dd”,可以通過設置“[ExporterHeader(DisplayName = “日期2”, Format = “yyyy-MM-dd HH:mm:ss”)]”來修改。 
- 修復沒有定義導出特性會報錯的情形。 
- 修復轉換DataTable時支持為空類型 
- 修復導出結果無法篩選的問題 
- 完善相關單元測試 
- 完善部分文檔并完成: 
- 基礎教程之導出Excel - https://github.com/dotnetcore/Magicodes.IE/blob/master/docs/2.%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%E4%B9%8B%E5%AF%BC%E5%87%BAExcel.md 
- 基礎教程之導出Pdf收據 - https://github.com/dotnetcore/Magicodes.IE/blob/master/docs/3.%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%E4%B9%8B%E5%AF%BC%E5%87%BAPdf%E6%94%B6%E6%8D%AE.md 
 
2.1版本預覽
2.1規劃如下,由于精力有限,具體時間待定:
- Excel支持圖片導入導出 - https://github.com/dotnetcore/Magicodes.IE/issues/28 
- Pdf導出支持.NET461 - https://github.com/dotnetcore/Magicodes.IE/issues/27 
- CSV導入導出支持 - https://github.com/dotnetcore/Magicodes.IE/issues/26 
最后
由于個人和團隊精力有限,Magicodes.IE非常迫切地希望能得到大家的幫助和支持,尤其是代碼和文檔貢獻。如有意向,可以提交PR或者和我直接聯系(公眾號或QQ群均可)。
轉載是一種動力 分享是一種美德
如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊信息科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
文檔官網:docs.xin-lai.com
QQ群:
編程交流群<85318032>?
產品交流群<897857351>
總結
以上是生活随笔為你收集整理的Magicodes.IE 2.0发布的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ASP.NetCore+VUE 实现学生
- 下一篇: 《ASP.NET Core 微服务实战》
