قراءة Excel في .NET، كيفية الحصول على صفوف معينة؟
سؤال
ولقد حصلت على التعليمات البرمجية التالية من هنا أ > قراءة ملف Excel باستخدام C # .NET:
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$]";
وسأقوم بتحديد فقط 10 الصفوف بدءا من الصف 4TH، كيف يمكنني أن أفعل ذلك؟
المحلول
وأنا لا إكسل خبير الاستعلام، ولكن هذا يعمل بالتأكيد. استخدام 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]);
}
}
}
لا تنتمي إلى StackOverflow