مشاركة عبر


الإرشادات التفصيلية: إدراج بيانات في مصنف على خادم

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

إصدار Microsoft Office

  • Excel 2007

  • Excel 2010

توضح هذه الإرشادات التفصيلية كيفية إدراج بيانات في مجموعة بيانات تم تخزينها مؤقـتًا في مصنف Microsoft Office Excel دون تشغيل Excel باستخدام الفئة ServerDocument. توفر هذه الإرشادات التفصيلية تعليمات خطوة بخطوة لاستخدام أمثلة التعليمة البرمجية التي تم توفيرها في كيفية القيام بما يلي: إدراج بيانات في مصنف على خادم.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • The كائن represents a نافذة that displays the المحتويات of a مجلد that يحتوي على عناصر such كـ e-بريد رسائل, tasks, أو appointments.

  • إنشاء مثيلات لمجموعة البيانات في مشروع مصنف Excel ومشروع تطبيق وحدة تحكم.

  • إنشاء ListObject يرتبط بمجموعة البيانات في المصنف.

  • إضافة مجموعة البيانات في المصنف إلى البيانات المخزنة مؤقـتًا.

  • إدراج البيانات في مجموعة البيانات المخزنة مؤقتاً عن طريق تشغيل التعليمة البرمجية في تطبيق وحدة التحكم دون تشغيل Excel.

على الرغم من أن هذه الإرشادات التفصيلية تفترض أنك تقوم بتشغيل التعليمات البرمجية على كمبيوتر التطوير الخاص بك، فإن التعليمات البرمجية الموضّحة بهذه الإرشادات التفصيلية يمكن استخدامها على خادم لا يحتوي على Excel مثبت.

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).

إنشاء مشروع مكتبة فئات تقوم بتعريف مجموعة بيانات

لاستخدام نفس مجموعة البيانات في مشروع مصنف Excel وتطبيق وحدة تحكم، يجب عليك تعريف مجموعة البيانات في تجميع منفصل يتم الإشارة إليه بواسطة كل من هذه المشاريع. لهذه الإرشادات التفصيلية، قم بتعريف مجموعة البيانات في مشروع مكتبة فئات.

لإنشاء مشروع مكتبة الفئات

  1. ابدأ Visual Studio.

  2. من القائمة File (ملف)، أشر إلى New (جديد)، ثم انقر فوق Project (مشروع).

  3. في جزء القوالب، قم بتوسيع #Visual C أو Visual Basic، ثم انقر على Windows.

  4. في قائمة قوالب المشروع، حدد مكتبة الفئات .

  5. في المربع الاسم، اكتب AdventureWorksDataSet.

  6. انقر فوق استعراض، انتقل لمجلد UserProfile%\My Documents% (لـ Windows XP والإصدارات السابقة) أو UserProfile%\Documents% (لـ Windows Vista) الخاص بك، ثم انقر فوق تحديد مجلد.

  7. في مربع الحوار مشروع جديد، تأكد من عدم تحديد خانة الاختيار إنشاء دليل للحل.

  8. انقر فوق موافق.

    يضيف Visual Studio المشروع AdventureWorksDataSet إلى مستكشف الحلول ويفتح ملف التعليمات البرمجية Class1.cs أو Class1.vb.

  9. في مستكشف الحلول، انقر على اليمين فوق Class1.cs أو Class1.vb ثم انقر فوق حذف. لا تحتاج لهذا الملف لهذه الإرشادات التفصيلية.

تعريف مجموعة بيانات في مشروع مكتبة الفئات

استخدم خاصية كائن للوصول إلى الجميع الكائنات الموجودة في Outlook. استخدام أسلوب الكائن إلى الحصول على حاليا يحتوي على تركيز.

مجموعة البيانات هي مجموعة بيانات مكتوبة تمثل البيانات الموجودة في جدول المنتج من قاعدة البيانات AdventureWorksLT. لمزيد من المعلومات حول إنشاء قواعد بيانات مكتوبة، راجع العمل مع Datasets في ‏‫Visual Studio.

لتعريف مجموعة بيانات مكتوبة في مشروع مكتبة الفئات

  1. في مستكشف الحلول، انقر فوق المشروع AdventureWorksDataSet.

  2. في قائمة البيانات ,انقر فوق إضافة مصدر بيانات جديد.

    يتم فتح معالج تكوين مصدر البيانات.

  3. انقر فوق قاعدة البيانات، ثم انقر فوق التالي‏‎.

  4. إذا كان لديك اتصال موجود إلى قاعدة البيانات AdventureWorksLT، اختر هذا الاتصال وانقر فوق التالي.

    وإلا فانقر فوق اتصال جديد، واستخدم مربع الحوار إضافة اتصال لإنشاء الاتصال الجديد. لمزيد من المعلومات، راجع الإرشادات التفصيلية: إدراج بيانات في مصنف على خادم.

  5. في صفحة Save the Connection String to the Application Configuration File، انقر علي Next.

  6. في صفحة اختر كائنات قاعدة البيانات الخاصة بك، قم بتوسيع الجداول وحدد منتج (SalesLT).

  7. انقر فوق Finish.

    تتم إضافة ملف AdventureWorksLTDataSet.xsd إلى المشروع AdventureWorksDataSet. يحدد هذا الملف العناصر التالية:

    • مجموعة بيانات مكتوبة تسمى AdventureWorksLTDataSet. مجموعة البيانات هذه تمثل محتويات جدول المنتج في قاعدة البيانات AdventureWorksLT.

    • TableAdapter يسمى ProductTableAdapter. TableAdapter هذا يمكن استخدامه لقراءة وكتابة البيانات في AdventureWorksLTDataSet. لمزيد من المعلومات، راجع نظرة عامة حول محول الجدول.

    ستستخدم كل من هذه الكائنات لاحقًا في هذه الإرشادات التفصيلية.

  8. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق AdventureWorksDataSet ثم انقر فوق بناء.

    تحقق من بناء المشروع بدون أخطاء.

إنشاء مشروع مصنف Excel

قم بإنشاء مشروع مصنف Excel لواجهة البيانات. ستقوم لاحقًا في هذه الإرشادات التفصيلية بإنشاء ListObject تعرض البيانات، ثم ستقوم بإضافة مثيل من مجموعة البيانات لذاكرة تخزين البيانات المؤقتة في المصنف.

لإنشاء مشروع مصنف Excel

  1. في مستكشف الحلول، انقر على زر الماوس الأيمن فوق الحل AdventureWorksDataSet، أشر إلى إضافة، ثم انقر فوق مشروع جديد.

  2. في جزء القوالب، قم بتوسيع #Visual C أو Visual Basic ثم قم بتوسيع Office.

  3. ضمن العقدة الموسعة Office، حدد العقدة 2007 أو 2010.

  4. في قائمة قوالب المشروع، حدد مشروع مصنف Excel.

  5. في مربع الاسم، اكتب AdventureWorksReport. لا تقم بتعديل الموقع.

  6. انقر فوق موافق.

    أدوات Visual Studio لمعالج مشروع Office تفتح.

  7. تأكد من تحديد إنشاء مستند جديد، وانقر فوق موافق .

    Visual Studio يفتح المصنف AdventureWorksReport في المصمم ويضيف المشروع AdventureWorksReport إلى مستكشف الحلول.

إضافة مجموعة البيانات إلى مصادر بيانات في مشروع مصنف Excel

قبل أن تتمكن من عرض مجموعة البيانات في مصنف Excel، يجب عليك أولاً إضافة مجموعة البيانات إلى مصادر البيانات في مشروع مصنف Excel.

لإضافة مجموعة البيانات إلى مصادر البيانات في مشروع مصنف Excel

  1. في مستكشف الحلول، انقر نقرًا مزدوجًا فوق Sheet1.cs أو Sheet1.vb ضمن المشروع AdventureWorksReport.

    يتم فتح المصنف في المصمم.

  2. في قائمة البيانات ,انقر فوق إضافة مصدر بيانات جديد.

    يتم فتح معالج تكوين مصدر البيانات.

  3. انقر فوق كائن، ثم فوق التالي.

  4. في صفحة حدد الكائن الذي ترغب في ربطه انقر فوق إضافة مرجع.

  5. في علامة التبويب مشاريع، انقر فوق AdventureWorksDataSet ثم انقر فوق موافق.

  6. تحت مساحة الاسم AdventureWorksDataSet للتجميع AdventureWorksDataSet، انقر فوق AdventureWorksLTDataSet ثم انقر فوق إنهاء.

    تفتح نافذة مصادر البيانات، وتتم إضافة AdventureWorksLTDataSet إلى قائمة مصادر البيانات.

إنشاء ListObject مرتبط بمثيل من مجموعة البيانات

لعرض مجموعة البيانات في المصنف، قم بإنشاء ListObject مرتبط بمثيل من مجموعة البيانات. لمزيد من المعلومات حول ربط عناصر التحكم بالبيانات، راجع ربط بيانات إلى عناصر تحكم في حلول Office.

لإنشاء ListObject مرتبط بمثيل من مجموعة البيانات

  1. في نافذة مصادر البيانات، قم بتوسيع العقدة AdventureWorksLTDataSet ضمن AdventureWorksDataSet.

  2. حدد العقدة المنتج، انقر فوق السهم المنسدل الذي يظهر، ثم حدد ListObject في القائمة المنسدلة.

    إذا لم يظهر السهم المنسدل، فتأكد أن المصنف مفتوح في المصمم.

  3. اسحب جدول المنتج إلى الخلية A1.

    عنصر تحكم ListObject يسمى productListObject يتم إنشاؤه على ورقة العمل بدءًا من الخلية A1. في نفس الوقت، تتم إضافة كائن مجموعة بيانات يسمى adventureWorksLTDataSet وBindingSource يسمى productBindingSource إلى المشروع. ListObject مرتبط بـ BindingSource الذي بدوره مرتبط بكائن مجموعة البيانات.

إضافة مجموعة البيانات إلى ذاكرة تخزين البيانات المؤقتة

لتمكين تعليمات برمجية خارج مشروع مصنف Excel من الوصول إلى مجموعة البيانات في المصنف، يجب إضافة مجموعة البيانات إلى ذاكرة تخزين البيانات المؤقتة. للمزيد من المعلومات حول ذاكرة تخزين البيانات المؤقتة، راجع البيانات المخزنة مؤقتًا في تخصيصات على مستوى المستند والتخزين المؤقت للبيانات.

لإضافة مجموعة البيانات إلى ذاكرة تخزين البيانات المؤقتة

  1. في المصمم، انقر فوق adventureWorksLTDataSet.

  2. في النافذة خصائص، قم بتعيين الخاصية Modifiers إلى Public.

  3. قم بتعيين الخاصية CacheInDocument إلى True.

Checkpoint (نقطة التحقق)

قم ببناء وتشغيل مشروع مصنف Excel للتأكد من أنه يحول برمجيًا ويتم تشغيله بدون أخطاء.

لبناء وتشغيل المشروع.

  1. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق المشروع AdventureWorksReport، اختر تصحيح ثم انقر فوق ابدأ مثيلًا جديدًا.

    يتم إنشاء المشروع ويتم فتح المصنف في Excel. $ $ $ $ Th هو ListObjectالكائن هو توفر حلول المكتب الأخرى، والحلول التي أتمتة المكتب.adventureWorksLTDataSet في المقطع التالي سيتم استخدام تطبيق وحدة التحكم لملء كائن adventureWorksLTDataSet بالبيانات.

  2. قم بإغلاق Excel. لا تحفظ التغييرات.

إنشاء مشروع تطبيق وحدة تحكم

قم بإنشاء مشروع تطبيق وحدة التحكم لاستخدامه في إدراج البيانات في مجموعة البيانات المخزنة مؤقـتًا في المصنف.

لإنشاء مشروع تطبيق وحدة التحكم

  1. في مستكشف الحلول، انقر على زر الماوس الأيمن فوق الحل AdventureWorksDataSet، أشر إلى إضافة، ثم انقر فوق مشروع جديد.

  2. في جزء أنواع المشروع، قم بتوسيع #Visual C أو Visual Basic، ثم انقر فوق Windows.

  3. في جزء القوالب حدد تطبيق وحدة التحكم.

  4. في مربع الاسم، اكتب DataWriter. لا تقم بتعديل الموقع.

  5. انقر فوق موافق.

    يضيف Visual Studio المشروع DataWriter إلى مستكشف الحلول ويفتح Program.cs أو ملف التعليمات البرمجية Module1.vb .

إضافة بيانات إلى مجموعة البيانات المخزنة مؤقـتًا عن طريق استخدام تطبيق وحدة التحكم

استخدام فئة ServerDocument في تطبيق وحدة التحكم لملء مجموعة البيانات المخزنة مؤقتاً في المصنف مع البيانات.

لإضافة البيانات إلى ذاكرة تخزين البيانات المؤقتة

  1. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق المشروع DataWriter و انقر فوق إضافة مرجع.

  2. On the .NET tab, select Microsoft.VisualStudio.Tools.Applications.ServerDocument (if the DataWriter project targets the .NET Framework 4) or Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0 (if the DataWriter project targets the .NET Framework 3.5).

  3. انقر فوق موافق.

  4. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق المشروع DataWriter و انقر فوق إضافة مرجع.

  5. في علامة التبويب مشاريع، حدد AdventureWorksDataSet وانقر فوق موافق.

  6. قم بفتح ملف Program.cs أو Module1.vb في محرر التعليمات البرمجية.

  7. قم بإضافة عبارة using (لـ #C) أو Imports (لـ Visual Basic) التالية إلى أعلى ملف التعليمات البرمجية.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  8. قم بإضافة التعليمات البرمجية التالية للأسلوب Main . تقوم هذه التعليمات البرمجية بالتصريح بالكائنات التالية:

    • مثيلات الأنواع AdventureWorksLTDataSet و ProductTableAdapter التي تم تعريفها في المشروع AdventureWorksDataSet .

    • المسار إلى المصنف AdventureWorksReport في مجلد البناء للمشروع AdventureWorksReport.

    • كائن ServerDocument لاستخدامه في الوصول إلى ذاكرة تخزين البيانات المؤقتة في المصنف.

      ملاحظة

      التعليمات البرمجية التالية تفترض أنك تستخدم مصنف له امتداد ملف xlsx. إذا كان المصنف في المشروع الخاص بك لديه امتداد ملف مختلف، قم بتعديل المسار عند الضرورة.

    Dim productDataSet As New AdventureWorksDataSet.AdventureWorksLTDataSet()
    Dim productTableAdapter As _
        New AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter()
    
    Dim workbookPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.MyDocuments) & _
        "\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx"
    Dim serverDocument1 As ServerDocument = Nothing
    
    AdventureWorksDataSet.AdventureWorksLTDataSet productDataSet = 
        new AdventureWorksDataSet.AdventureWorksLTDataSet();
    AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter productTableAdapter =
        new AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter();
    
    string workbookPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) +
        @"\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx";
    ServerDocument serverDocument1 = null;
    
  9. قم بإضافة التعليمات البرمجية التالية إلى الأسلوب Main، بعد التعليمات البرمجية التي قمت بإضافتها في الخطوة السابقة. هذه التعليمة البرمجية تقوم بتنفيذ المهام التالية:

    • تملأ كائن مجموعة البيانات المكتوبة باستخدام محول الجدول.

    • تستخدم الخاصية CachedData من الفئة ServerDocument للوصول إلى مجموعة البيانات المخزنة مؤقـتًا في المصنف.

    • تستخدم الأسلوب SerializeDataInstance لملء مجموعة البيانات المخزنة مؤقتاً بالبيانات من مجموعة البيانات المكتوبة محلياً.

    Try
        productTableAdapter.Fill(productDataSet.Product)
        Console.WriteLine("The local dataset is filled.")
    
        serverDocument1 = New ServerDocument(workbookPath)
        Dim dataHostItem1 As CachedDataHostItem = _
            serverDocument1.CachedData.HostItems("AdventureWorksReport.Sheet1")
        Dim dataItem1 As CachedDataItem = dataHostItem1.CachedData("AdventureWorksLTDataSet")
    
        ' Initialize the worksheet dataset with the local dataset.
        If dataItem1 IsNot Nothing Then
            dataItem1.SerializeDataInstance(productDataSet)
            serverDocument1.Save()
            Console.WriteLine("The data is saved to the data cache.")
        Else
            Console.WriteLine("The data object is not found in the data cache.")
        End If
    Catch ex As System.Data.SqlClient.SqlException
        Console.WriteLine(ex.Message)
    Catch ex As System.IO.FileNotFoundException
        Console.WriteLine("The specified workbook does not exist.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
        Console.WriteLine(vbLf & vbLf & "Press Enter to close the application.")
        Console.ReadLine()
    End Try
    
    try
    {
        productTableAdapter.Fill(productDataSet.Product);
        Console.WriteLine("The local dataset is filled.");
    
        serverDocument1 = new ServerDocument(workbookPath);
        CachedDataHostItem dataHostItem1 =
            serverDocument1.CachedData.HostItems["AdventureWorksReport.Sheet1"];
        CachedDataItem dataItem1 = dataHostItem1.CachedData["adventureWorksLTDataSet"];
    
        // Initialize the worksheet dataset with the local dataset.
        if (dataItem1 != null)
        {
            dataItem1.SerializeDataInstance(productDataSet);
            serverDocument1.Save();
            Console.WriteLine("The data is saved to the data cache.");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("The data object is not found in the data cache.");
        }
    }
    catch (System.Data.SqlClient.SqlException ex)
    {
        Console.WriteLine(ex.Message);
    }
    catch (System.IO.FileNotFoundException)
    {
        Console.WriteLine("The specified workbook does not exist.");
    }
    finally
    {
        if (serverDocument1 != null)
        {
            serverDocument1.Close();
        }
    
        Console.WriteLine("\n\nPress Enter to close the application.");
        Console.ReadLine();
    }
    
  10. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق المشروع DataWriter، قم بالإشارة إلى تصحيح، ثم انقر فوق ابدأ مثيلًا جديدًا.

    تم إنشاء المشروع ويعرض تطبيق وحدة التحكم رسائل حالة متعددة عند تعبئة مجموعة البيانات المحلية وعند حفظ التطبيق للبيانات إلى مجموعة البيانات المخزنة مؤقتاً في المصنف. اضغط المفتاح ENTER لإغلاق التطبيق.

اختبار المصنف

عند فتح المصنف ، ListObject يعرض الآن البيانات التي تمت إضافتها لمجموعة البيانات المخزنة مؤقتاً باستخدام تطبيق وحدة التحكم.

لاختبار المصنف

  1. قم بإغلاق المصنف AdventureWorksReport في مصمم Visual Studio إذا كان لا يزال مفتوحًا.

  2. في Windows Explorer قم بفتح المصنف AdventureWorksReport الموجود في مجلد البناء للمشروع AdventureWorksReport. افتراضياً، مجلد البناء موجود في أحد المواقع التالية:

    • %UserProfile%\My Documents\AdventureWorksReport\bin\Debug (لـ Windows XP والإصدارات السابقة)

    • %UserProfile%\Documents\AdventureWorksReport\bin\Debug (لنظام التشغيل Windows Vista)

  3. تحقق من أن ListObject يتم تعبئته بالبيانات بعد فتح المصنف.

الخطوات التالية

يمكنك معرفة المزيد حول العمل مع البيانات المخزنة مؤقـتًا من هذه المواضيع:

راجع أيضًا:

المهام

كيفية القيام بما يلي: إدراج بيانات في مصنف على خادم

الإرشادات التفصيلية: تغيير بيانات مخزنة مؤقـتًا في مصنف على خادم

كيفية القيام بما يلي: إدراج بيانات في المستندات بدون الكتابة إلى القرص

المبادئ

الاتصال إلى البيانات في تطبيقات نماذج Windows