将Excel中的行转换为自定义实体

时间:2011-09-09 09:30:52

标签: c# excel

为了从Excel工作表中读取数据,我使用的是具有一个方法GetCell的第三方dll,其返回类型为Object。 Excel工作表中的一行包含多个列,因此在读取一行后,我遇到了很多对象。这些对象应该是自定义实体的属性。例如,如果Excel工作表具有两列NameDateOfBirth,则值应映射到以下Person实体

class Person{
public string Name {get; set;}
public DateTime DateOfBirth {get; set;}
}

有一种简单的方法可以进行此转换吗?由于我必须阅读许多不同的Excel工作表,因此无法对转换进行硬编码。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用C#。我能想到的一种可能性是保留List<List<string>> setsoflabels,其中您将保存与特定实体关联的列的名称。

因此setsoflabels中的第一个条目是由"Name""DateofBirth"组成的列表。

然后,您可以拥有List<object> types,其中第一个条目为Person

setsoflabels中的第二个条目可以是由"Make""Model"组成的列表,types中的第二个条目可以是Car,假设你有一个有这个名字的班级)

如果特定工作表的标题与特定索引setsoflabels匹配,请检查types中的相同索引以获取该类型。

它基本上就像拥有一本字典,但我不相信你可以拥有一个以List为关键字的字典。如果您需要重复使用,可以根据我上面概述的内容创建自定义数据结构。