Excel のデータを LINQ で取得する


この記事では、CData ADO.NET Data Provider for Excel 経由で LINQ を使って Excel テーブルにアクセスする方法を説明します。これを行うには、Entity Framework に LINQ を使います。これにより接続を作成し、あらゆる CData ADO.NET Data Providers からLINQ を使ってデータにアクセスできるようになります。

1. Visual Studio 2015 の新規プロジェクトで、プロジェクトを右クリックし[追加]→[新しい項目]を選択します。[ADO.NET Entity Data Model]を追加します。
2.[データベースから EF Designers]を選択し、[次へ]をクリックします。
3.[新しい接続]をクリックし、 データソースを[CData Excel Data Source]に変更します。

4.データソースの接続情報を入力します。[Excel File]に対象のExcelファイルのパスを指定します。

5.エンティティ接続を App.config に保存する場合は、エンティティ名を設定します。この例では、ExcelEntities をエンティティ接続として App.config に設定しています。

6.モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。

作成したエンティティを使って、選択、更新、削除、および挿入コマンドが実行できます。例:

ExcelEntities context = new ExcelEntities();
var sheetQuery = from sheet in context.Sheet  select sheet;
foreach (var result in sheetQuery) {
    Console.WriteLine("csharp {1} ", result.Id, result.Name);
}