2008-11-13 65 views
1

我已得到here下面的代碼使用C#.NET讀取Excel文件:在.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行,我該怎麼辦呢?

回答

1

我不是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]); 
     } 
    } 
}