今天我们发布了2.4版本,这离不开大家对Magicodes.IE的支持,我们也对大家的意见以及需求不断的进行更新迭代,目前我们的发布频率平均在一周一个beta版本,一个月一个正式版本的更新,我们欢迎更多的开发者加入进来,欢迎大家来提issue以及PR。

项目地址:https://github.com/dotnetcore/Magicodes.IE。

按照惯例,我们开启了2.5版本的讨论,具体见:2.5 milestone discussion(2.5里程碑讨论),欢迎大家前来讨论。

本次发布的主要内容如下所示:

  • Excel导出支持对Enum的ValueMapping设置

在对Enum的导出中支持导出text,可以通过ValueMapping对值的一个映射

[ValueMapping(text: "小微客户", 0)]
[ValueMapping(text: "一级", 1)]
  • Excel导出支持对bool类型的ValueMapping设置

    支持对bool类型的值映射
[ValueMapping(text: "yes", true)]
[ValueMapping(text: "no", false)]
  • 筛选器支持依赖注入

筛选器主要是为了满足大家能够在导入导出时支持动态处理,比如值映射等等。但是通过特性指定筛选器的话,那么如何支持依赖注入呢?不要慌,针对这个场景,我们也有考虑

在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>();
}
  1. 注入的筛选器类型的优先级高于特性指定的筛选器类型,也就是当两者并存时,优先会使用注入的筛选器
  2. 注入的筛选器是全局的,当注入多种类型的筛选器时,均会执行,接下来我们还会支持更多细节控制
  3. 如果某个逻辑需要禁用所有筛选器,请参考下面部分
  4. 此功能需要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;
}
}
  • 使用IsDisableAllFilter属性禁用所有的筛选器

如果某段导入导出需要禁用所有的筛选器,我们该如何处理?仅需将IsDisableAllFilter设置为true即可。导入导出特性均已支持。

  • 导出添加AutoFitMaxRows,超过指定行数则不启用AutoFit

添加AutoFit Rows限制配置,支持超过指定行则不启用AutoFit。

[ExcelExporter(Name = "通用导出测试", AutoFitMaxRows = 5000)]
  • 支持单元格导出宽度设置
[ExporterHeader(Width = 100)]
public DateTime Time3 { get; set; }

感谢大家对Magicodes.IE的支持。关于更多发布信息大家可以参阅:

https://github.com/dotnetcore/Magicodes.IE/blob/master/RELEASE.md

Magicodes.IE 2.4版本发布的更多相关文章

  1. EQueue 2.3.2版本发布(支持高可用)

    前言 前段时间针对EQueue的完善终于告一段落了,实在值得庆祝,自己的付出和坚持总算有了成果.这次新版本主要为EQueue实现了集群功能,基本实现了Broker的高可用.另外还增加了很多实用的功能, ...

  2. glibc 各版本发布时间以及内核默认glibc版本

    最近有些软件要求glibc 2.14+,centos 6.x自带的版本是2.12的,特查了下glibc 各版本发布时间以及与对应的内核,如下: Complete glibc release histo ...

  3. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  4. 评论alpha版本发布

    讲解顺序: 1.  新蜂:俄罗斯方块 俄罗斯方块已经完成了核心的游戏部分,可以流畅的进行游戏,经验值功能也已经完成,目前进度很好:不足之处主要有:后续的显示内容还没完成,所以界面空出来很多板块,alp ...

  5. Percona Server 5.6.13-61.0 首个 GA 版本发布

    Percona Server 5.6 的首个 GA 版本发布了,版本号是 5.6.13-61.0 ,该版本基于 MySQL 5.6.13 改进内容包括: New Features: Percona S ...

  6. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布

    (新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...

  7. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布

    历时数月,RDIFramework.NET V2.7 版本发布了,感谢大家的支持. RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系 ...

  8. Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持

    Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持. Spring.Net.Framework,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开 ...

  9. Winform版本发布更新

      版本发布: 一.局域网共享文件方式   发布界面: 更新界面:   二.FTP方式 发布界面 更新界面:     (只会更新有变动的文件) 同步新增,替换与删除 实现方式XML(文件名+文件最后修 ...

随机推荐

  1. android studio配置so和assets目录

    so配置: 1. 建立src/main/libs/armeabi目录,so文件放入armeabi目录 2.配置build.gradle android { defaultConfig{ XXXXXX ...

  2. Funny Positive Sequence (思维+前缀)

    There are n integers a 1,a 2,…,a n-1,a n in the sequence A, the sum of these n integers is larger th ...

  3. SQL连接(内连接、外连接、交叉连接)

    SQL连接(内连接.外连接.交叉连接) 假设现在有两个表:table1 , table2 table1:                                table2 :  id     ...

  4. 小程序开发-页面导航栏navigation-bar组件

    导航栏navigation-bar 页面导航条配置节点,用于指定导航栏的一些属性.只能是 page-meta 组件内的第一个节点,需要配合它一同使用. 通过这个节点可以获得类似于调用 wx.setNa ...

  5. linux 文件系统和磁盘

    linux 文件系统和磁盘 1.文件系统 ext2, ext3, ext4 , XFS ext3和ext4为日志文件系统 文件系统格式 : 磁盘格式化为 inode和block inode是索引,记录 ...

  6. Java程序取MySQL的datetime字段,如何消除时间尾后讨厌的".0"

    Problem: 直接取datetime字段的内容会有".0"后缀,如2020-05-03 18:21:39.0,虽无伤大雅但总觉得有些别扭. Solution:使用转化函数Dat ...

  7. Istio 运维实战系列(1):应用容器对 Envoy Sidecar 的启动依赖问题

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 故障现象 该问 ...

  8. PHP的七个数组指针函数

    1. PHP的七个数组指针函数 函数 描述 reset() 将一个数组的内部指针重置到首位,并返回第一个元素的值 end() 将一个数组的内部指针移动到数组的最后一个元素所在的位置,并返回最后一个元素 ...

  9. flask提交表单验证不通过,以及CSRF攻击原理

    学习表单的问题1. 提交表单时怎么都无法验证通过 记录一下,自己的学习bug,主要是因为在模板中书写渲染的语句时,把CSRF的字段名写错了. 因为在模板中书写一些语句是没有提示的,自己手动敲代码容易出 ...

  10. UI自动化页面需要选择上传文件

    UI自动化页面上传文件,百度查的时候说有4中方法,简便的方法是安装SendKeys,但是百度说这个只支持python2.7的 我的python版本是3.7的,目前还只碰到了非<input typ ...