未分類

C# Excel 2010 のブックファイル内にテーブルを作成する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (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();
  int iRet;
  
  oleConn.Open();
  oleCmd.Connection = oleConn;
  oleCmd.CommandText = "CREATE TABLE [Sheet1$]"
                     + " ([果物] TEXT"
                     + ",[価格] NUMBER"
                     + ",[販売日] DATE)";
  
  iRet = oleCmd.ExecuteNonQuery();
  listBox1.Items.Add(iRet.ToString() + " 件実行完了");
}

解説

text.xlsx の Sheet1 テーブルを作成します。尚、Sheet1 シート自体は作成されません。実際には Sheet1 シートに列を作成するだけです。使える型は TEXT, NUMBER, DATE です。

この SQL を実行して成功した場合でも、処理件数は 0 件の模様です。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類