Magicodes.IE 2.4发布
今天我們發布了2.4版本,這離不開大家對Magicodes.IE的支持,我們也對大家的意見以及需求不斷的進行更新迭代,目前我們的發布頻率平均在一周一個beta版本,一個月一個正式版本的更新,我們歡迎更多的開發者加入進來,歡迎大家來提issue以及PR。
項目地址:https://github.com/dotnetcore/Magicodes.IE。
按照慣例,我們開啟了2.5版本的討論,具體見Issue:2.5 milestone discussion(2.5里程碑討論),歡迎大家前來討論。
本次發布的主要內容如下所示:
1. Excel導出支持對Enum的ValueMapping設置
在對Enum的導出中支持導出text,可以通過ValueMapping對值的一個映射
[ValueMapping(text: "小微客戶", 0)] [ValueMapping(text: "一級", 1)]2. Excel導出支持對bool類型的ValueMapping設置
3. 篩選器支持依賴注入
篩選器主要是為了滿足大家能夠在導入導出時支持動態處理,比如值映射等等。但是通過特性指定篩選器的話,那么如何支持依賴注入呢?不要慌,針對這個場景,我們也有考慮
在ASP.NET Core的啟動類(StartUp)注冊容器
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) {AppDependencyResolver.Init(app.ApplicationServices); //添加注入關系services.AddSingleton<IImportResultFilter, ImportResultFilterTest>();services.AddSingleton<IImportHeaderFilter, ImportHeaderFilterTest>();services.AddSingleton<IExporterHeaderFilter, TestExporterHeaderFilter1>(); }值得注意的是:
注入的篩選器類型的優先級高于特性指定的篩選器類型,也就是當兩者并存時,優先會使用注入的篩選器
注入的篩選器是全局的,當注入多種類型的篩選器時,均會執行,接下來我們還會支持更多細節控制
如果某個邏輯需要禁用所有篩選器,請參考下面部分
此功能需要2.4.0-beta2或以上版本才支持
示例如下所示:
public class TestExporterHeaderFilter2 : IExporterHeaderFilter {/// <summary>/// 表頭篩選器(修改忽略列)/// </summary>/// <param name="exporterHeaderInfo"></param>/// <returns></returns>public ExporterHeaderInfo Filter(ExporterHeaderInfo exporterHeaderInfo){if (exporterHeaderInfo.ExporterHeaderAttribute.IsIgnore){exporterHeaderInfo.ExporterHeaderAttribute.IsIgnore = false;}return exporterHeaderInfo;} }4. 使用IsDisableAllFilter屬性禁用所有的篩選器
如果某段導入導出需要禁用所有的篩選器,我們該如何處理?僅需將IsDisableAllFilter設置為true即可。導入導出特性均已支持。
5. 導出添加AutoFitMaxRows,超過指定行數則不啟用AutoFit
6. 支持單元格導出寬度設置
感謝大家對Magicodes.IE的支持。關于更多發布信息大家可以參閱:
https://github.com/dotnetcore/Magicodes.IE/blob/master/RELEASE.md
總結
以上是生活随笔為你收集整理的Magicodes.IE 2.4发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员修神之路--它可能是分布式系统中最
- 下一篇: .NET 异步解说