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

本文关键字:自定义 实体 转换 Excel | 更新日期: 2023-09-27 18:08:19

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

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

是否有一个简单的方法来做这个转换?因为我必须阅读许多不同的Excel表,转换不能硬编码。

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

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

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

那么,你可以有一个List<object> types,它的第一个条目是Person

(setsoflabels中的第二个条目可以是由"Make""Model"组成的列表,types中的第二个条目可以是Car,假设您有一个具有该名称的类)

如果特定页的标题与setsoflabels的特定索引匹配,则检查types中的相同索引以获得类型。

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