2

ここから、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行だけを選択したいのですが、どうすればよいですか?

4

1 に答える 1

2

私は 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]);
        }
    }
}
于 2008-11-13T03:11:23.780 に答える