将Excel中的行转换为自定义实体
为了从Excel工作表中读取数据,我使用了一个GetCell
方法的第三方dll,它的返回types是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
相同的索引以获得该types。
这本质上就像有一本字典,但我不相信你可以有一个List
作为一个关键字的字典。 如果您需要重复的话,您可以根据上面所述的方法调出自定义的数据结构。