قراءة Excel في .NET، كيفية الحصول على صفوف معينة؟

StackOverflow https://stackoverflow.com/questions/286044

  •  08-07-2019
  •  | 
  •  
هل كانت مفيدة؟

المحلول

وأنا لا إكسل خبير الاستعلام، ولكن هذا يعمل بالتأكيد. استخدام TOP للحد من الاستعلام إلى 13 الصفوف. الصف الأول هو رأس مع أسماء الأعمدة لذلك قد لا العد. تغيير الواضح إذا أنا تسيئوا. ثم، وتتبع هوية التوالي وتفعل أشياء لصفوف في أو بعد 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]);
        }
    }
}
scroll top