قراءة واستخلاص الصفحات ومعلومات الأعمدة من ملفات الـاكسل باستخدام الـ 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));

 

واعذروني لعدم توفر صور كأمثة مع تمنياتي لكم بالفائدة

 

تعليقات

حول كود الـ C# إلى Vb وبالعكس

http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

تعليقات

مقدمة في System IO

بسم الله الرحمن الرحيم

 

الادخال و الاخراج (Input /Output) :

 

في خلال هذه السلسلة ان شاء الله سوف نتعلم كيفية التعامل مع الادخال والاخراج ضمن الـ Dot Net Framework، حيث سنتعلم اساسيات الادخال والاخراج ضمن النظام وذبك يتضمن ايضا عملية الوصول الى الملفات والمجلدات على حد سواء ضمن ملفات النظام، والتعامل مع عمليات القراءة والكتابة ضمن الـ Streams واستخدام الـ compression stream و وحدات التخزين المنفصلة “Isolated”.

 

الأقسام والاهداف التي سنسعى لان نقوم بتغطيتها:

 

Read the rest of this entry »

تعليقات

البداية مع الـ Reflection

تعتبر هذه الميزة من احدى ميزات المدهشة ضمن بيئة الـ Dot Net Framework والـ CLR والتي تساعد في الوصول الى معلومات المتغيرات (الصفات) خلال عمل البرنامج حيث تساعد هذه التقنية في بناء برامج ديناميكية تدعم خاصية الـ Pulg-in. ومن خلال هذه المقال سنقوم باذن الله بالتعرف ومحاولة استيعاب تقنية الـ Reflection.

فهم تقنية الـ Reflection

يعتبر الهدف من هذه التنقية هو من اجل تكامل انواع المتغيرات مع الانواع المتوفرة من قبل النظام وايضا من اجل انشاء اكواد برمجية خلال سير عمل البرنامج ومعالجتها، وتساعد هذه التقنية على تمثيل الكود البرمجي على اساس نماذج Model.

Read the rest of this entry »

تعليقات