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