OleDbを利用して、Excel未インストールのマシンでExcelファイルを操作する方法

Windows標準のOleDbを利用してExcelファイルに対してデータベースにするように接続し、データ挿入を行うことでExcel未インストールのマシンからExcelファイルを操作することが可能である。Excelファイルの操作前に操作先であるファイルをコピーしてコピーしたファイルを操作すてば、擬似的に新しいExcelファイルを作成することも出来る。
ただし制約は多い。
・セルに値を設定する以外の操作は出来ない。レイアウト調整や罫線を引くことは不可能。
・あらかじめ操作先となるExcelファイルを用意しておかなければならない。
・Excel2007以降のxlsx形式での操作はできない。

サンプル

事前準備

あらかじめxlsファイルを用意しておく必要がある。(今回は、C:\Temp\Book1.xls)
このxlsファイルは、"Sheet1"という名前のシートを持ち、A1セルに"Code", B1セルに"Name"という値を設定しておく必要がある。

コード
var conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;HDR=YES\";Data Source=C:\\Temp\\Book1.xls");
conn.Open();
var cmd = new OleDbCommand("INSERT INTO [Sheet1$] (Code, Name) values (1, 'INSERT1')", conn);
cmd.ExecuteNonQuery();
conn.Close();
結果

以上のコードを実行することで、xlsファイルのA2セルに"1", B2セルに"INSERT1"という値を設定することが出来る。