C#でExcelのデータを読み込む方法を調査。 というのも、仕事を進める上で便利なツールを作るために必要だから。 どうやら、OleDbを利用して、SQLコマンドを発行すればいいらしい。
まずOleDbConnectionでデータベースと接続する。 文字列はこんな感じ。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<ファイル名>;Extended Properties=Excel 8.0;HDR=No;
接続を開いた後、SQLのコマンドを発行する。
SELECT * FROM [<シート名>$(<セルの範囲>)]
これでデータを読み込むことができる模様。 データを扱うときは、NULLでないことを調べて(IsDBNull)からにしないと、例外が発生するみたい。 どっかにメモっておこう。 後で使いたいので、サンプルも付けておくとするか。
try { OleDbConnection objConn = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<ファイル名>;Extended Properties=Excel 8.0;HDR=No;" ); objConn.Open(); OleDbCommand objCmdSelect =new OleDbCommand( "SELECT * FROM [<シート名>$<セルの範囲>]", objConn ); OleDbDataReader objReader = objCmdSelect.ExecuteReader(); while ( objReader.Read() ) { <各行の処理>(下は例) if ( !objReader.IsDBNull( <データの番号> ) ) { <データの文字列> = objReader.GetString( <データの番号> ); } } objReader.Close(); objConn.Close(); } catch ( Exception er ) { MessageBox.Show( er.Message, "Exception" ); }
次はデータの書き込みとシートの新規作成だね。
24:45から「灼眼のシャナ」実況。 キーワードはツンデレと風呂ってところか。 ちょっと迷ったけど、25:30から「ARIA The ANIMATION」実況をする。 今日は普通ってところかな。