标签:
此类库尚在构思中,接下来会找时间实现它~
简介:
此Excel是将简单的二维Excel解析成一个C# List实体,防止开发人员重复造轮子。开发人员可以通过一系列特性标签,来定义Excel表格的数据规范,并做一些简单的Check,比如长度、大小、不可为空等。
构思支持的Excel格式如下:
Name | Age | Tel | Address | IsAdmin |
Jax | 18 | 15399126333 | 西安 | true |
Bob | 52 | 15821487157 | 榆林 | false |
最终通过本类库,可以解析为一个List<Person>,并且把Excel中的每个值都正确的填充到对象:
public class Person { public string Name { get; set; } public int Age { get; set; } public string Tel { get; set; } public string Address { get; set; } public bool IsAdmin { get; set; } }
实现:
1.通过在对象属性上的特性标签来指定该属性对应的表格表头的名称,或者所在列的序号,最终来定位这个属性会由哪个单元格的值来填充它。
2.通过在属性上的特性标签,来定义验证规则,类似于Required,MaxLength、MinLength、MaxValue、AvailableValues,这些特性标签最好是用Sytem类库下面的(咱们平时viewModel上写的那些),如果没法用,就自己定义。
3.先支持int、string、decimal、datetime、double、Bool、Enum这几种类型,并且支持这些类型的可空类型(int?,decimal?)
4.支持根据表头文本来验证用户使用的Excel模板是否正确
可以参考:https://github.com/chsword/Excel2Object/tree/master/Chsword.Excel2Object
这个已经实现了基本的功能,但是我们要在他的基础上,扩展出来一些常用的方法,比如数据合法性验证、模板正确性判断等。
标签:
原文地址:http://www.cnblogs.com/baiyunchen/p/5743787.html