1

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(); 
4

1 に答える 1