今天我们发布了2.5版本,这当然也离不开大家对Magicodes.IE的支持,今天我也是跟往常一样列举了该版本一些重要的更新内容。

当然也要说一下,在这个版本中我们设计了全新的LOGO

Excel导出

  • Excel导出支持HeaderRowIndex #164

ExcelExporterAttribute导出特性类中添加HeaderRowIndex属性,方便导出时去指定从第一行开始导出。

  • 增加Excel枚举导出对DescriptionAttribute的支持 #168

在导出枚举类型时起初我们可以通过ValueMapping和导出枚举本身的字符串名称,在现在我们可以通过

DescriptionAttribute

DisplayAttribute,

DisplayNameAttribute

实现Text值导出

enum Sex
{
/// <summary>
/// 男
/// </summary>
[Description("男")]
boy = 1,
/// <summary>
/// 女
/// </summary>
[Description("女")]
girl = 2
}
  • TableStyle修改为枚举类型

在这之前我们将TableStyle属性放在了ExporterAttribute基础特性中,起初我们的TableStyle属性为字符串,

但是带给了我们不必要的麻烦,很难让使用者去查找这些样式名称,所以此处我们将其换成了枚举类型,方便使用者从列表中

进行查找相关样式

  [ExcelExporter(Name = "测试", TableStyle = TableStyles.Light10)]

Excel导入

  • Excel生成导入模板支持内置数据验证#167

对于内置数据验证的支持可通过IsInterValidation属性开启,并且需要注意的是仅

支持MaxLengthAttribute

MinLengthAttribute

StringLengthAttribute

RangeAttribute

支持对内置数据验证的开启操作。

支持对输入提示的展示操作。

示例代码如下所示:

    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类型

  • 导入对ColumnIndex的支持#198

导入功能支持ColumnIndex可以通过去指定某一列数据列,这样在复杂的列名时结构时,我们也可以直接

轻松的应对

[ImporterHeader(Name = "年龄", ColumnIndex = 3)]
public int? Age { get; set; }

欢迎扫码加入微信群

https://github.com/dotnetcore/Magicodes.IE

.NET 开源导入导出库 Magicodes.IE 2.5发布的更多相关文章

  1. .NET Core开源导入导出库 Magicodes.IE 2.3发布

    在2.3这一版本的更新中,我们迎来了众多的使用者.贡献者,在这个里程碑中我们也添加并修复了一些功能.对于新特点的功能我将在下面进行详细的描述,当然也欢迎更多的人可以加入进来,再或者也很期待大家来提is ...

  2. ASP.NET 开源导入导出库Magicodes.IE 完成Excel图片导入导出

    Magicodes.IE Excel图片导入导出 为了更好的根据实际功能来迭代,从2.2的里程碑规划开始,我们将结合社区的建议和意见来进行迭代,您可以点此链接来提交您的意见和建议: https://g ...

  3. ASP.NET 开源导入导出库Magicodes.IE 完成Csv导入导出

    Magicodes.IE Csv导入导出 说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 主要步骤 1.安装包Magicodes.IE.Csv Install-Pack ...

  4. 开源导入导出库Magicodes.IE 导出教程

    要点 导出特性 如何导出Excel表头 如何导出数据.如何进行数据的切割.如何使用筛选器 导出特性 ExporterAttribute Name: 名称(当前Sheet 名称) HeaderFontS ...

  5. ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程

    基础教程之导出Pdf收据 说明 本教程主要说明如何使用Magicodes.IE.Pdf完成Pdf收据导出 要点 导出PDF数据 自定义PDF模板 导出单据 如何批量导出单据 导出特性 PdfExpor ...

  6. ASP.NET 开源导入导出库Magicodes.IE 多Sheet导入教程

    多Sheet导入教程 说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导入 多个不同格式的Sheet数据导入 ...

  7. 开源导入导出库Magicodes.IE 多sheet导入教程

    原文作者:tanyongzheng 多Sheet导入教程 说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导 ...

  8. Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库

    在2.3这一版本的更新中,我们迎来了众多的使用者.贡献者,在这个里程碑中我们也添加并修复了一些功能.对于新特点的功能我将在下面进行详细的描述,当然也欢迎更多的人可以加入进来,再或者也很期待大家来提is ...

  9. 开源导入导出通用库Magicodes.ExporterAndImporter发布

    导入导出通用库 Magicodes.ExporterAndImporter为心莱团队封装的导入导出通用库,并且仍在跟随项目不断地打磨. GitHub地址: https://github.com/xin ...

随机推荐

  1. Windows defender历史记录闪退解决方案

    删除C:\ProgramData\Microsoft\Windows defender\Scans\History\Service文件夹 另外defender可以设置保护文件夹,选择病毒和威胁防护-管 ...

  2. MySQL全面瓦解11:子查询和组合查询

    概述 子查询是SQL查询中的重要一块,是我们基于多表之间进行数据聚合和判断的一种手段,使得我们的处理复杂数据更加的便捷,这一节我们主要来了解一下子查询. 先做一下数据准备,这边建立三张表:班级.学生. ...

  3. LOJ #2005. 「SDOI2017」相关分析 线段树维护回归直线方程

    题目描述 \(Frank\) 对天文学非常感兴趣,他经常用望远镜看星星,同时记录下它们的信息,比如亮度.颜色等等,进而估算出星星的距离,半径等等. \(Frank\) 不仅喜欢观测,还喜欢分析观测到的 ...

  4. TCC事务原理

    本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的:不涉及具体使用示例.本文分析的是github中开源项目tcc-transaction的代码,地址为:https://github.com/c ...

  5. 你要的SSM(Spring+Springmvc+Mybatis)小项目来了!!!

    SSM-Maven-Heima 这是一个使用 SSM(Spring+Springmvc+Mybatis)框架的商城小项目,使用Maven构建项目,以MySQL为数据库系统,Redis的缓存服务器(并不 ...

  6. MySQL_where和having的区别

    1. where和having都可以使用的场景 select goods_price,goods_name from sw_goods where goods_price > 100 selec ...

  7. 硕思logo设计师注册码去哪里找,文末附链接

    硕思logo设计师注册码去哪里找呢?当然是硕思logo设计师官网啦! 最近小编总是会被网友们咨询关于logo设计的问题,其中很多网友并不是专业的设计人员,特别是一些设计公司面对新手设计时,往往会不知所 ...

  8. 怎么给Folx添加需要储存的网站密码

    Folx内置密码管理功能,可以帮助用户储存特定网站的密码,实现更加快速的登陆下载操作.在Folx的免费版本中,用户最多可以存储2个密码:而Folx专业版则不限制用户存储密码的数量. Folx通过两种方 ...

  9. MathType中如何输入正、余弦函数

    MathType是一款强大的数学公式编辑器,正.余弦函数也是中学中非常重要的一节知识点,今天我们介绍一下在MathType中怎么输入正.余弦函数. 具体步骤如下: 步骤一 打开专业的公式编辑软件Mat ...

  10. 下载器Folx如何实现排队下载功能

    用户在下载多个文件时,当然会希望这些文件都能同时下载,以达到短时间内完成下载任务的目的.但另一方面来说,同时下载过多文件,会分散带宽资源,降低了每个文件的下载速度,从而导致下载时间的延长. 为了实现多 ...