将Excel中的行转换为自定义实体
本文关键字:自定义 实体 转换 Excel | 更新日期: 2023-09-27 18:08:19
为了从Excel表中读取数据,我使用第三方dll,该dll具有一个方法GetCell
,其返回类型为Object
。Excel表中的一行包含多个列,所以在阅读一行后,我被很多对象困住了。这些对象应该是自定义实体的属性。例如,如果Excel工作表有两个列Name
和DateOfBirth
,那么这些值应该映射到以下Person实体
class Person{
public string Name {get; set;}
public DateTime DateOfBirth {get; set;}
}
是否有一个简单的方法来做这个转换?因为我必须阅读许多不同的Excel表,转换不能硬编码。
我假设你正在使用c#。我能想到的一种可能性是保留一个List<List<string>> setsoflabels
,其中保存与特定实体关联的列的名称。
因此setsoflabels
中的第一个条目将是由"Name"
和"DateofBirth"
组成的列表。
那么,你可以有一个List<object> types
,它的第一个条目是Person
。
(setsoflabels
中的第二个条目可以是由"Make"
和"Model"
组成的列表,types
中的第二个条目可以是Car
,假设您有一个具有该名称的类)
如果特定页的标题与setsoflabels
的特定索引匹配,则检查types
中的相同索引以获得类型。
它本质上就像拥有一个字典,但我不相信你可以拥有一个以List
作为键的字典。如果您需要重复使用,您可以根据我上面概述的内容创建一个自定义数据结构。