使用 LinqToExcel,我正在尝试创建具有动态数量的属性(带有值)的对象的动态列表。本质上,对象列表应该直接表示 Excel 工作表的内容。但是,我事先不知道标题名称或数字列。
下面的代码不起作用,甚至无法编译,但我希望它能显示我正在尝试做的事情。它还缺少一种循环和添加正确数量的属性的方法。属性的名称和数量应来自列标题数组columnNameList
。
// get the records
var excel = new ExcelQueryFactory(path);
IEnumerable<string> columnNameList = excel.GetColumnNames(mod.SelectedSheet);
var ExpandoObject = (from x in excel.Worksheet(selectedSheet)
select new ExpandoObject()
{
ExpandoObject.Prop1 = x["excelCol1"],
ExpandoObject.Prop2 = x["excelCol2"],
ExpandoObject.Prop3 = x["excelCol3"],
ExpandoObject.Prop4 = x["excelCol4"],
ExpandoObject.Prop5 = DateTime.Now
}).ToList();