未分類

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

準備

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();
  OleDbDataReader oleReader;
  
  oleConn.Open();
  oleCmd.Connection = oleConn;
  oleCmd.CommandText = "SELECT メーカー, パソコン名 FROM [Sheet1$]";
  
  oleReader = oleCmd.ExecuteReader();
  while (oleReader.Read())
  {
    listBox1.Items.Add(oleReader["メーカー"].ToString() + " " + oleReader["パソコン名"].ToString());
  }
  
  oleConn.Close();
  oleCmd.Dispose();
  oleConn.Dispose(); 
}

解説

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

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類