まなちゃん日記

2005年11月16日の日記

2005年11月16日(水) [出勤]

Excelのデータ [2005/11/18 12:31 更新]

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" );
}

次はデータの書き込みとシートの新規作成だね。

夜の実況 [2005/11/17 12:34 記]

24:45から「灼眼のシャナ」実況。 キーワードはツンデレと風呂ってところか。 ちょっと迷ったけど、25:30から「ARIA The ANIMATION」実況をする。 今日は普通ってところかな。