.NETでExcelを読んで、特定の行を取得する方法は?
質問
こちら C#.NETを使用してExcelファイルを読み取る:
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbCommand command = connection.CreateCommand()
command.CommandText = "SELECT City,State FROM [Cities$]";
4行目から10行のみを選択したいのですが、どうすればよいですか?
解決
Excelクエリのエキスパートではありませんが、これは確かに機能します。 TOPを使用して、クエリを13行に制限します。最初の行は列名を持つヘッダーであるため、カウントされない場合があります。誤解したら明らかに変更してください。次に、行IDを追跡し、4以降の行に処理を行います。
これがお役に立てば幸いです!
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
using (System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connectionString)) {
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT top 13 City,State FROM [Cities$]";
conn.Open();
System.Data.IDataReader dr = cmd.ExecuteReader();
int row = 2;
while (dr.Read()) {
if (row++ >= 4) {
// do stuff
Console.WriteLine("{0}, {1}", dr[0], dr[1]);
}
}
}
所属していません StackOverflow