قراءة واستخلاص الصفحات ومعلومات الأعمدة من ملفات الـاكسل باستخدام الـ ADO.Net 2.0
في بعض الأحيان نحتاج الى قرأة بيانات مخصصة من ملفات الإكسل ولكن المشكلة تكمن في معرفة الصفحات الموجودة ضمن ملف الاكسل واختلاف اسمها من ملف لملف وذلك بالاعتماد منشئ الملفات والبيئة التي انشئ الملفات بها. وللاجابة على هذا السؤال فانها كائن الـ DbConnection يحتوي على وظيفة مميزة اسمها GetSchema والتي تساعد في حل مثل هذه المشكلة بالحصول على معلومات مختلفة عن الملف من ناحية الجداول والاعمدة وأدناه مثال توضيحي:
مثل على استخدام هذه الدالة
لنفترض ان لدينا صفحة في ملف أكسل اسمها Mohammed، واخرى اسمها Melhem، وثالثة اسمها MM وان الصفحة الأولى تحتوي على الأعمدة التالية( ID, Name, Key).باستخدام الكود ادناه يمكننا استخراج اسماء الصفحات الموجودة ضمن ملفنا الخاص هذا melhem.xls
DataTable worksheets;
string excelConn = @”Provider = Microsoft.Jet.4.0; Data Source = melhem.xls; Extended Properties = “\”Excel 8.0; HDR=Yes;\”";
using(OleDbConnection conn = new OleDbConnection(excelConn))
{
conn.Open();
worksjeets = conn.GetSchema(”Tables”);
}
وبعد تطبيق الكود ونسبه إلى اليه عرض لنقل DataGride سيعرض ملعومات عن محتويات ملف الـ Excel الخاص بنا هنا.
زيمكننا بنفس الطريقة استخراج الأعمدة المستخدمة ضمن ملف الاكسل ولاكن بدل اسم كلمة Tables نستخدم كلمة Columns ونمرر ايضاً اسماء الصفحات التي نريد الاعمدة فيها.
conn.GetSchema(”Columns”, {”melhem”, “Mohammed”, null));
واعذروني لعدم توفر صور كأمثة مع تمنياتي لكم بالفائدة

