C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: エクセルから一番下のデータを読み込む


(過去ログ 78 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■46085 / inTopicNo.1)  エクセルから一番下のデータを読み込む
  
□投稿者/ もんた (20回)-(2010/01/25(Mon) 20:11:30)

分類:[C#] 

2010/01/25(Mon) 21:24:00 編集(投稿者)

タイトルの通り、エクセルのセルで最も下に記述されているデータを取得したいと思っています。

例えばB列のデータが一定時間ごとに追記されていく場合、最も新しいデータを取得するといった感じです。
全部で3行ならB列3行目のデータを、10行ならB列10行目のデータを取得したいと思っています。
途中が空白になる事はありません。

方法が分かる方がいれば教えて頂けるとありがたいです。
.NETは3.5、使用言語はC#、開発環境はVS2008です。
引用返信 編集キー/
■46089 / inTopicNo.2)  Re[1]: エクセルから一番下のデータを読み込む
□投稿者/ もりお (172回)-(2010/01/25(Mon) 21:42:12)
No46085 (もんた さん) に返信

> エクセルのセルで最も下に記述されているデータを取得したいと思っています。

エクセルのデータは表形式と言いますか、OleDb で取得できるようなものなのでしょうか。

static void Main(string[] args) {
	var lastRow = GetLastRow();

	foreach (var field in lastRow) {
		Console.WriteLine(field);
	}

	Console.ReadKey();
}

static object[] GetLastRow() {
	var connection = new OleDbConnection(connectionString);
	var command = new OleDbCommand("Select * From `Sheet1$`", connection);
	
	connection.Open();
	
	var reader = command.ExecuteReader();
	var rowData = new object[reader.FieldCount];

	while (reader.Read()) {
		reader.GetValues(rowData);
	}

	reader.Close();
	connection.Close();

	return rowData;
}

引用返信 編集キー/
■46194 / inTopicNo.3)  Re[2]: エクセルから一番下のデータを読み込む
□投稿者/ もんた (21回)-(2010/01/27(Wed) 21:06:17)
>>もりお様

わざわざソースまでありがとうございます!
さっそく試してみようと思います。
それでは失礼します。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -