Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

この記事では、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ファイルのパスを指定します。

fig3_01.png

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

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

fig3_02.png

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

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);
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away