اكسسيلادو يوضح كيفيه استخدام ADO لقراءه البيانات وكتابتها في مصنفات Excel


الملخص


يوضح النموذج اكسسيلادو كيف يمكنك استخدام كائنات بيانات ActiveX (ADO) مع موفر Microsoft Jet OLE DB 4.0 لقراءه البيانات وكتابتها في مصنفات Microsoft Excel.

مزيد من المعلومات


لماذا تستخدم ADO ؟

يوفر لك استخدام ADO لنقل البيانات أو استردادها من مصنف Excel ، المطور ، العديد من الميزات عبر التنفيذ التلقائي إلى Excel:
  • الأداء. Microsoft Excel خادم ActiveX خارج العملية. يتم تشغيل ADO في العملية ، ويحفظ الحمولة الخاصة بالمكالمات خارج العملية.
  • قابليه التحجيم. بالنسبة إلى تطبيقات ويب ، ليس من المرغوب دائما تنفيذ Microsoft Excel تلقائيا. يقدم ADO لك حلا أكثر سكاليابليا لمعالجه البيانات في مصنف.
يمكن استخدام ADO بالحصر لنقل البيانات الخام إلى مصنف. لا يمكنك استخدام ADO لتطبيق التنسيقات أو الصيغ علي الخلايا. ومع ذلك ، يمكنك نقل البيانات إلى مصنف تم تنسيقه مسبقا ويتم الاحتفاظ بالتنسيق. إذا كنت بحاجه إلى تنسيق "شرطي" بعد ادراج البيانات ، فبامكانك إنجاز هذا التنسيق باستخدام التنفيذ التلقائي أو باستخدام ماكرو في المصنف.

مواصفات موفر Jet OLE DB لمصنفات Excel

يمكن استخدام مشغل قاعده بيانات Microsoft Jet للوصول إلى البيانات الموجودة في تنسيقات ملفات قواعد البيانات الأخرى ، مثل مصنفات Excel ، عبر برامج تشغيل الوصول التسلسلي المفهرسة (ISAM) القابل للتثبيت. من أجل فتح التنسيقات الخارجية المعتمدة بواسطة موفر Microsoft Jet 4.0 OLE DB ، يمكنك تحديد نوع قاعده البيانات في الخصائص الموسعة للاتصال. يدعم موفر Jet OLE DB أنواع قواعد البيانات التالية لمصنفات Microsoft Excel:
  • Excel 3.0
  • Excel 4.0
  • Excel 5.0
  • Excel 8.0
ملاحظه: استخدم نوع قاعده البيانات المصدر في excel 5.0 لمصنفات microsoft excel 5.0 و 7.0 (95) واستخدم نوع قاعده البيانات المصدر في excel 8.0 لمصنفات microsoft excel 8.0 (97) و 9.0 (2000). يستخدم النموذج اكسسيلادو مصنفات Excel بتنسيق Excel 97 و Excel 2000. توضح النماذج التالية اتصال ADO بمصنف Excel 97 (أو 2000):
Dim oConn As New ADODB.ConnectionWith oConn    .Provider = "Microsoft.Jet.OLEDB.4.0"    .Properties("Extended Properties").Value = "Excel 8.0"    .Open "C:\Book1.xls"    '....    .CloseEnd With
     -or-
Dim oConn As New ADODB.ConnectionoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _           "Data Source=C:\Book1.xls;" & _           "Extended Properties=""Excel 8.0;"""oConn.Close
اصطلاحات تسميه الجداولهناك العديد من الطرق التي يمكنك من خلالها الاشاره إلى جدول (أو نطاق) في مصنف Excel:
  • استخدم اسم الورقة متبوعا بعلامة الدولار (علي سبيل المثال ، [ورقه 1 $] أو [ورقه العمل $]). يتكون جدول المصنف المشار اليه بهذه الطريقة من النطاق المستخدم بأكمله في ورقه العمل بالبالكامل.
    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
  • استخدم نطاقا باسم معرف (علي سبيل المثال ، [جدول 1]).
    oRS.Open "Select * from Table1", oConn, adOpenStatic
  • استخدم نطاقا مع عنوان معين (علي سبيل المثال ، [ورقه 1 $ A1: B10]).
    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic
رؤوس الجدولباستخدام مصنفات Excel ، يعتبر الصف الأول في النطاق عبارة عن صف الراس (أو أسماء الحقول) بشكل افتراضي. إذا كان النطاق الأول لا يحتوي علي رؤوس ، فيمكنك تحديد HDR = لا في الخصائص الموسعة في سلسله الاتصال. إذا لم يكن الصف الأول يحتوي علي رؤوس ، يقوم موفر OLE DB بتسميه الحقول بالنيابة عنك (حيث يمثل F1 الحقل الأول ، سيمثل F2 الحقل الثاني ، وهكذا).أنواع البياناتبخلاف قاعده البيانات التقليدية ، لا توجد طريقه مباشره لتحديد أنواع البيانات للاعمده في جداول Excel. بدلا من ذلك ، يتفحص موفر OLE DB عددا محدودا من الصفوف في عمود إلى "تخمين" نوع البيانات للحقل. عدد الصفوف المراد مسحها ضوئيا إلى ثمانيه (8) صفوف ؛ يمكنك تغيير عدد الصفوف المراد فحصها بتحديد قيمه بين واحد (1) وست عشر (16) لاعداد ماكسسكانرووس في الخصائص الموسعة لسلسله الاتصال.

الملفات المضمنة في النموذج

يحتوي الملف اكسسيلادو علي مشروع EXE Visual Basic القياسي ، وصفحات الخادم النشطة (ASP) ، ومصنفات Excel 97 و Excel 2000 التي تعمل كقوالب ، وقاعده بيانات Microsoft Access 2000. الملفات المضمنة هي كالتالي:ملفات مشروع Visual Basic STANDARD EXE
  • ExcelADO.vbp
  • Form1.frm
  • Form1.frx
صفحات الخادم النشطة
  • EmpData.asp
  • Orders.asp
مصنفات Microsoft Excel
  • OrdersTemplate.xls
  • EmpDataTemplate.xls
  • ProductsTemplate.xls
  • SourceData.xls
قاعده بيانات Microsoft Access
  • Data.mdb

كيفيه استخدام النموذج

استخراج محتويات ملف .exe إلى مجلد.لاستخدام مشروع Visual Basic:
  1. في Visual Basic ، افتح الملف اكسسيلادو فبب.
  2. في قائمه المشروع ، حدد مراجع، ثم قم بتعيين مراجع إلى MICROSOFT ADO Ext. ل DDL والأمان ومكتبه كائنات بيانات Microsoft ActiveX. تعمل هذه التعليمات البرمجية النموذجية مع كل من ADO 2.5 و ADO 2.6 ، لذلك حدد الإصدار المناسب للكمبيوتر.
  3. اضغط علي المفتاح F5 لتشغيل البرنامج. يظهر نموذج للحصول علي العرض التوضيحي.
  4. انقر فوق النموذج 1. ينشئ هذا النموذج نسخه من أورديرستيمبلاتي. عندئذ يستخدم ADO للاتصال بالمصنف وفتح مجموعه السجلات في جدول يكون عبارة عن نطاق معرف في المصنف. اسم النطاق هو Orders_Table. انه يستخدم أساليب ADO AddNew/Update لأضافه السجلات (أو الصفوف) إلى النطاق المحدد في المصنف. عند اكتمال إضافات الصف ، يتم إغلاق اتصال ADO ويتم عرض المصنف في Microsoft Excel. اتبع هذه الخطوات للقيام بما يلي:
    1. في القائمة ادراج في Excel ، حدد الأسماء، ثم حدد تعريف.
    2. في قائمه الأسماء المعرفة ، حدد Orders_Table. لاحظ ان الاسم المعرف هو زيادة في تضمين السجلات المضافة حديثا. يتم استخدام الاسم المعرف ، بالترابط مع الدالة OFFSET في Excel ، لحساب إجمالي علي البيانات التي تمت اضافتها إلى ورقه العمل.
    3. قم بإنهاء Microsoft Excel والعودة إلى تطبيق Visual Basic.
  5. انقر فوق نموذج 2. ينشئ هذا النموذج نسخه من امبداتاتيمبلاتي. يستخدم ADO للاتصال بالمصنف ويستخدم أسلوب التنفيذ لاتصال ADO لادراج البيانات (ادراج في SQL) في المصنف. تتم أضافه البيانات في نطاقات محدده (أو الجداول) في المصنف. عندما يتم نقل البيانات ، يكون الاتصال مغلقا والمصنف الذي يتم عرضه في Excel. بعد فحص المصنف ، قم بإنهاء Microsoft Excel ، ثم عد إلى تطبيق Visual Basic.
  6. انقر فوق نموذج 3. ينشئ هذا النموذج نسخه من برودوكتستيمبلاتي. يقوم باستخدام Microsoft ADO Extensions 2.1 ل DDL ومكتبه كائنات الأمان (أدوكس) لأضافه جدول جديد (أو ورقه عمل جديده) إلى المصنف. يتم بعد ذلك الحصول علي مجموعه سجلات ADO للجدول والبيانات الجديدة باستخدام أساليب AddNew/Update . عند اكتمال إضافات الصف ، يتم إغلاق اتصال ADO ويتم عرض المصنف في Excel. يحتوي المصنف علي رمز ماكرو ل Visual Basic for Applications (VBA) في الحدث Open للمصنف. يتم تشغيل الماكرو عند فتح المصنف ؛ إذا كانت ورقه العمل "منتجات جديده" موجودة في المصنف ، سيقوم الرمز الماكرو بتنسيق ورقه العمل ثم حذف التعليمات البرمجية للماكرو. تقدم هذه التقنية طريقه لمطور ويب لنقل التعليمات البرمجية للتنسيق بعيدا عن خادم ويب والي العميل. يمكن لتطبيق ويب ان يقوم بتدفق مصنف منسق يحتوي علي بيانات إلى العميل والسماح بالتعليمات البرمجية للماكرو التي قد تنفذ اي تنسيقات "شرطيه" قد لا تكون ممكنة في قالب واحد لتشغيله علي العميل.ملاحظه: لفحص التعليمات البرمجية للماكرو ، اعرض الوحدة النمطية ThisWorkbook في فبابروجيكت ل برودوكتستيمبلاتي.
  7. انقر فوق نموذجي 4. تنتج هذه العينة النتائج نفسها النموذجية ، ولكن التقنية المستخدمة لنقل البيانات تكون مختلفه قليلا. في نموذج 1 ، يتم أضافه السجلات (أو الصفوف) إلى ورقه العمل كل علي حده. يضيف النموذج 4 السجلات بشكل مجمع عن طريق إرفاق جدول Excel بقاعده بيانات Access وتشغيل استعلام إلحاقي (أو ادراج في.. حدد من) للحاق سجلات من جدول في جدول Access إلى جدول Excel. بمجرد اكتمال النقل ، يتم فصل جدول Excel عن قاعده بيانات Access والمصنف الذي يتم عرضه في Excel. قم بإنهاء Excel ، والعودة إلى تطبيق Visual Basic.
  8. يوضح النموذج الأخير كيفيه قراءه البيانات من مصنف Excel. حدد جدولا في القائمة المنسدلة ، ثم انقر فوق النموذج 5. تعرض النافذة الفورية محتويات الجدول الذي حددته. إذا قمت بتحديد ورقه عمل بالبالكامل ("ورقه 1 $" أو "ورقه 2 $") للجدول ، ستعرض النافذة الفورية محتويات النطاق المستخدم لورقه العمل هذه. لاحظ ان النطاق المستخدم لا يبدا بالضرورة في الصف 1 ، العمود 1 من ورقه العمل. يبدا النطاق المستخدم في الخلية العلوية اليمني في ورقه العمل التي تحتوي علي بيانات. إذا قمت بتحديد عنوان نطاق معين أو نطاق محدد ، ستعرض النافذة الفورية محتويات هذا النطاق فقط في ورقه العمل.
لاستخدام صفحات الخادم النشطة (ASP):
  1. قم بإنشاء مجلد جديد باسم اكسسيلادو في الدليل الرئيسي لملقم ويب. لاحظ ان المسار الافتراضي للدليل الأساسي هو C:\InetPut\WWWRoot.
  2. انسخ الملفات التالية إلى المجلد الذي انشاته في الخطوة السابقة:
    • EmpData.asp
    • Orders.asp
    • Data.mdb
    • EmpDataTemplate.xls
    • OrdersTemplate.xls
  3. البرامج النصية ل ASP في هذا النموذج تنشئ نسخا من قوالب المصنفات باستخدام أسلوب النسخلفيليسيستيموبجيكت. لينجح أسلوب النسخ ، يجب ان يتوفر للعميل الذي يقوم بالوصول إلى البرنامج النصي حق الوصول للكتابة إلى المجلد الذي يحتوي علي ASP.
  4. انتقل إلى الأوامر .asp (اي ، http://YourServer/ExcelADO/Orders.ASP) ، ولاحظ ان المستعرض يعرض مصنف Excel مشابها لتلك الموجودة في النموذج 1 من تطبيق Visual Basic.
  5. انتقل إلى امبداتا (اي ، http://YourServer/ExcelADO/EmpData.ASP) ، ولاحظ ان المستعرض يعرض مصنف Excel مشابها لتلك الموجودة في النموذج 2 من تطبيق Visual Basic.
(ج) Microsoft Corporation 2000 ، كل الحقوق محفوظه. المساهمات حسب لوري B تورنير ، Microsoft Corporation.

المراجع


للحصول علي معلومات اضافيه ، انقر فوق أرقام المقالات التالية لعرض المقالات في قاعده معارف Microsoft:
195951 هووتو: الاستعلام عن بيانات Excel وتحديثها باستخدام ADO من ASP
194124 PRB: قيم Excel التي تم إرجاعها كفارغه باستخدام DAO أوبينريكوردسيت
193998 هووتو: قراءه البيانات الثنائية وعرضها في ASP
247412 معلومات: طرق نقل البيانات إلى Excel من Visual Basic
257819 هووتو: استخدام ADO مع بيانات Excel من Visual Basic أو VBA