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

为了从Excel工作表中读取数据,我使用了一个GetCell方法的第三方dll,它的返回types是Object 。 Excel工作表中的一行包含多列,所以在阅读完一行之后,我遇到了很多对象。 这些对象应该是自定义实体的属性。 例如,如果Excel工作表具有NameDateOfBirth两列,则值应该映射到以下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作为一个关键字的字典。 如果您需要重复的话,您可以根据上面所述的方法调出自定义的数据结构。