未分類

C# Excel 2010 からデータを SELECT する (1)

準備

1. 以下のデータを D:\test.xlsx の Sheet1 シートに作成します。

メーカー パソコン名
NEC ValueStar
SONY VAIO
DELL Precision

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
using System.Data.OleDb;

// コード
private void button1_Click(object sender, EventArgs e)
{
  string sCS = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.xlsx;Extended Properties=Excel 12.0";
  OleDbConnection oleConn = new OleDbConnection(sCS);
  OleDbCommand oleCmd = new OleDbCommand();
  OleDbDataAdapter oleAdapter = new OleDbDataAdapter();
  DataSet ds = new DataSet();

  oleConn.Open();
  oleCmd.Connection = oleConn;
  oleCmd.CommandText = "SELECT メーカー, パソコン名 FROM [Sheet1$]";

  oleAdapter.SelectCommand = oleCmd;
  oleAdapter.Fill(ds, "Computer");

  dataGridView1.DataSource = ds;
  dataGridView1.DataMember = "Computer";

  oleConn.Close();
  oleCmd.Dispose();
  oleConn.Dispose();
}

解説

D:\test.xlsx の Sheet1 シートから全レコードを取得します。シートの指定は [シート名$] のように行います。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類