أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية استخدام Visual Basic أو ASP لإنشاء جدول بيانات XML لبرنامج Excel 2002 و Excel 2003

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية285891
الموجز
Microsoft Excel 2002 و Excel 2003 من Microsoft Office يعتمد تنسيق XML التي يمكن كلا من تحميل وحفظ المصنفات (أو جداول بيانات XML). باستخدام هذا في تنسيق جدول بيانات XML، يمكنك إنشاء ورقة متعددة، تنسيق المصنفات إلى Excel دون استخدام التنفيذ التلقائي. هذا النهج قد يكون مطلوباً عندما تحتاج لإنشاء مصنف Excel، ولكن لا يمكن لأتمتة Excel (مثل ملقم ويب أو من خدمة) أو Excel غير مثبت على النظام حيث يتم تشغيل التعليمات البرمجية الخاصة بك.

هذا المقال يوضح كيف يمكنك إنشاء قالب XML، عند استخدام تحويل لغة صفحات الأنماط الموسعة (XSL) ويقوم بإنشاء مصنف منسق يمكن فتحها مباشرة في Excel. ويظهر لكل من صفحات الملقم النشطة (ASP) و Visual Basic تحويل XML. وفيما يتعلق بنموذج التعليمات البرمجية ل Visual Basic، يتم إنشاء بيانات جدول البيانات فقط مع XML/XSL؛ يتم استخدام أتمتة الحد الأدنى لفتح النتائج في Excel.

ملاحظة: يتوفر نموذج الموضحة في هذه المقالة للتحميل؛ للحصول على إرشادات التحميل، راجع قسم "تنزيل" في نهاية هذه المقالة.
معلومات أخرى

إنشاء قالب XML في المصنف

  1. إنشاء مجلد جديد، C:\ExcelXML.
  2. في Excel، فتح مصنف جديد. إضافة توسيلس البيانات التالية A1:F2 المصنف في الخلايا المشار إليها. يجب أن يكون المفتاح F2 خلايا انتيريداس صيغة.
    A1: Order ID    B1: Product ID   C1: Unit Price   D1: Quantity   E1: Discount  F1: TotalA2: aaa         B2: 111          C2: 222          D2: 333        E2: 0         F2: =C2*D2*(1-E2)
  3. في الخلية F3، اكتب الصيغة التالية:
    =SUM(F$2:F2)
  4. الأمر تحديد الخلايا. من القائمة تنسيق ، انقر فوق " خلايا". تطبيق خط غامق وحد السفلي لون خالص سيلشادينج. انقر فوق موافق.
  5. تحديد أعمدة A:F. في القائمة تنسيق ، أشر إلى عمود وثم انقر فوق عرض. نوع 15 لعرض عمود جديد وثينكليك موافق. A:F الأعمدة لا تزال محددة، من القائمة تنسيق ، انقر فوق الخلايا. في علامة التبويب " محاذاة "، حدد مركز محاذاة أفقية من القائمة ومن ثم انقر فوق موافق.
  6. حدد العمود e. من القائمة تنسيق ، انقر فوق " خلايا". على علامة التبويب " رقم "، انقر فوق النسبة المئوية وحدد المنازل العشرية 0، وثم انقر فوق موافق.
  7. حدد العمود f. من القائمة تنسيق ، انقر فوق " خلايا". على علامة التبويب " رقم "، انقر فوق المحاسبة ومن ثم انقر فوق موافق.
  8. حدد الخلايا A3:F3. من القائمة تنسيق ، انقر فوق ارتفاع الصف، نوع 25، ثم انقر فوق موافق. A3:F3 لا تزال محددة، من القائمة تنسيق ، انقر فوق الخلايا. تطبيق حد أعلى للخلايا، ومن ثم انقر فوق موافق.
  9. من القائمة أدوات ، انقر فوق " خيارات". ضمن علامة التبويب عرض ، قم بإلغاء تحديد خانة الاختيار " خطوط الشبكة " وانقر فوق موافق.
  10. حدد الصف 2. من القائمة إطار ، انقر فوق تجميد الألواح.
  11. حدد الخلية A1.
  12. من القائمة ملف ، انقر فوق حفظ باسم. استعرض للوصول إلى مجلد C:\ExcelXML الذي تم إنشاؤه، ثم حفظ ثيووركبوك باسم "Orders.xsl" في تنسيق جدول بيانات XML .

    ملاحظة: في المربع اسم الملف في مربع الحوار حفظ باسم ، قم بإحاطة اسم الملف بعلامات اقتباس مزدوجة حيث أنه لم يتم إضافة ملحق an.xml إلى اسم الملف الخاص بك.
  13. قم بإنهاء Excel.
  14. افتح Orders.xsl في أي محرر نص، مثل أسنوتيباد.
  15. يدرج ما يلي بين <?xmlversion="1.0"??> العلامة و <Workbook>العلامة:</Workbook>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"><xsl:template match="/"><xsl:pi name="xml">version="1.0"</xsl:pi>					
  16. في النهاية من Orders.xsl، إلحاق توولينيس التالية:
    </xsl:template></xsl:stylesheet>					
  17. تحديد موقع المجموعة التالية من العلامات في Orders.xsl (هذه المجموعة تمثل أوفتاجس الخلايا A2:F2 في ورقة عمل)
       <Row ss:Height="14.25">    <Cell><Data ss:Type="String">aaa</Data></Cell>    <Cell><Data ss:Type="Number">111</Data></Cell>    <Cell><Data ss:Type="Number">222</Data></Cell>    <Cell><Data ss:Type="Number">333</Data></Cell>    <Cell><Data ss:Type="Number">0</Data></Cell>    <Cell ss:Formula="=RC[-3]*RC[-2]*1*(1-RC[-1])"><Data ss:Type="Number">73926</Data></Cell>   </Row>					
    واستبدل التعليمات البرمجية XSL التالية:
    <xsl:for-each select="xml/rs:data/z:row">   <Row ss:AutoFitHeight="0" ss:Height="13.5">    <Cell><Data ss:Type="String"><xsl:value-of select="@OrderID"/></Data></Cell>    <Cell><Data ss:Type="Number"><xsl:value-of select="@ProductID"/></Data></Cell>    <Cell><Data ss:Type="Number"><xsl:value-of select="@UnitPrice"/></Data></Cell>    <Cell><Data ss:Type="Number"><xsl:value-of select="@Quantity"/></Data></Cell>    <Cell><Data ss:Type="Number"><xsl:value-of select="@Discount"/></Data></Cell>    <Cell ss:Formula="=RC[-3]*RC[-2]*(1-RC[-1])"><Data ss:Type="Number">0</Data></Cell>   </Row></xsl:for-each>					
  18. حفظ التغييرات إلى Orders.xsl، وإغلاق ملف.

استخدم Visual Basic تحويل مجموعة سجلات ADO الدائمة XML إلى جدول بيانات XML

  1. في Visual Basic، إنشاء "اكسيبروجيكت قياسية" جديدة.
  2. من القائمة ' مشروع '، انقر فوق " مراجع". حدد Microsoft XML 3.0ومكتبات الأنواع ل 2.5 كائنات بيانات ActiveX Microsoft (أو أحدث).
  3. قم بإضافة CommandButton إلى Form1 وإضافة التعليمات البرمجية التالية إلى انقر فوق الزر الحدث:
        Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _                  "C:\program files\microsoft office\office10\samples\Northwind.mdb"    Const sOutXML = "C:\ExcelXML\Orders.xml"    Const sXSL = "C:\ExcelXML\Orders.xsl"        'Retrieve an ADO recordset of the Orders Detail table in Northwind.    Dim nRecords As Long, nFields As Long    Dim rs As New ADODB.Recordset    rs.Open "SELECT * FROM [Order Details]", sConn, adOpenStatic, adLockOptimistic            'Persist the recordset to a new DOMDocument and store the record count.    Dim oXML As New DOMDocument    rs.Save oXML, adPersistXML    nRecords = rs.RecordCount    nFields = rs.Fields.Count    rs.Close          'Load the XSL (the workbook template with XSL directives) into a DOMDocument.    Dim oXSL As New DOMDocument    oXSL.Load sXSL        'Transform the XML using the style sheet.    Dim oResults As New DOMDocument    oXML.transformNodeToObject oXSL, oResults        If oXSL.parseError.errorCode <> 0 Then        MsgBox "Parse Error: " & oResults.parseError.reason    Else       'Modify the ss:ExpandedRowCount attribute for the <table> node to       'indicate the correct number of rows (count of records + 1 row for       'the header + 1 row for the total).        Dim oTable As MSXML2.IXMLDOMElement        Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")        oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2        '***************************************        'Save the results to a file.        Open sOutXML For Output As #1        Print #1, oResults.xml        Close #1        'Open the XML in Excel.        Dim oExcel As Object        Set oExcel = CreateObject("Excel.Application")        oExcel.Workbooks.Open sOutXML        oExcel.Visible = True        oExcel.UserControl = True        '***************************************    End If					
    ملاحظة: إذا لزم الأمر، قم بتعديل الاتصال سلسلة (Const sConn) حيث أن مسار التثبيت الصحيح للنموذج "الوصول إلى نورثوينداتاباسي" إيتكونتينس.
  4. اضغط F5 لتشغيل البرنامج.
  5. انقر فوق الزر على Form1. تظهر البيانات من ديتايلتابل "أوامر" في قاعدة بيانات Northwind التي يوكريتيد في قالب مصنف Excel.
النموذج يقوم بإنشاء جدول بيانات XML و Excel يقوم تلقائياً باستخدام طريقة فتح مجموعة مصنفات لفتح XML كمصنف جديد. كنهج بديل، يمكنك مباشرة إدراج XML في ورقة عمل موجودة في خلية معينة. على سبيل المثال، استبدال التعليمات البرمجية الموجودة بين العلامات النجمية بما يلي:
        'Display the data in a workbook starting at cell B2.        Dim oExcel As Object, oBook As Object        Set oExcel = CreateObject("Excel.Application")        Set oBook = oExcel.Workbooks.Add        oBook.Worksheets(1).Range("B2").Resize(nRecords + 2, nFields + 1).Value(11) = _            oResults.xml 'Note: xlRangeValueXMLSpreadsheet=11        oExcel.Visible = True        oExcel.UserControl = True				
بعد إجراء هذا التغيير، تشغيل البرنامج مرة أخرى. لاحظ أن هذا الوقت، يتم إدراج بيانات جدول بيانات XML في ورقة عمل جديدة بدءاً من الخلية B2 من ورقة العمل الأولى. يتم تطبيق بيانات الخلية وتنسيقات للنطاق؛ ومع ذلك، باستخدام هذا الأسلوب، إعدادات خاصة صفوف وأعمدة ورقة العمل والمصنف لا يتم.

استخدام ASP لتحويل مجموعة سجلات ADO الدائمة XML إلى جدول بيانات XML

  1. لصق التعليمات البرمجية التالية في "المفكرة". حفظ asExcelXML.asp التعليمات البرمجية في المجلد الجذر الظاهري لخادم الويب الخاص بك.ملاحظة: المجلد الجذر الظاهري الافتراضي هو C:\inetpub\wwwroot.
    <%@ Language="vbscript"%><%    Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\program files\microsoft office\office10\samples\Northwind.mdb"    Const sXSL = "C:\ExcelXML\Orders.xsl"        Response.Buffer = True    'Retrieve an ADO recordset of the Orders Detail table in Northwind.    Dim rs, nRecords    Set rs = CreateObject("ADODB.Recordset")    rs.Open "SELECT * FROM [Order Details]", sConn, 3, 3            'Persist the recordset to a new DOMDocument and store the record count.    Dim oXML    Set oXML = CreateObject("Microsoft.XMLDOM")    rs.Save oXML, 1    nRecords = rs.RecordCount    rs.Close          'Load the XSL (the workbook template with XSL directives) into a DOMDocument.    Dim oXSL    Set oXSL = CreateObject("Microsoft.XMLDOM")    oXSL.Load sXSL        'Transform the XML using the style sheet.    Dim oResults    Set oResults = CreateObject("Microsoft.XMLDOM")    oXML.transformNodeToObject oXSL, oResults        If oXSL.parseError.errorCode <> 0 Then       Response.Write "Parse Error: " & oResults.parseError.reason    Else       'Modify the ss:ExpandedRowCount attribute for the <table> node in the XSL.        Dim oTable        Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")        oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2        'Return the resulting XML Spreadsheet for display in Excel.        Response.ContentType = "application/vnd.ms-excel"        Response.Charset = "ISO-8859-1"        Response.Write oResults.XML        Response.Flush    End If%>					
    ملاحظة: إذا لزم الأمر، قم بتعديل الاتصال سلسلة (Const sConn) حيث أن مسار التثبيت الصحيح للنموذج "الوصول إلى نورثوينداتاباسي" إيتكونتينس.

  2. بدء تشغيل Internet Explorer، واستعرض http:///ExcelXML.aspيورويبسيرفير، حيث يورويبسيرفير هو اسم خادم الويب الخاص بك. تظهر البيانات من ديتايلتابل "أوامر" في قاعدة بيانات Northwind التي يوكريتيد في قالب مصنف Excel.

ملاحظات إضافية

لا يمكن استمرار ميزات Excel التالية بتنسيق جدول بيانات XML:
  • المخططات
  • كائنات OLE
  • أشكال الرسم أو الأشكال التلقائية
  • مشاريع VBA
  • تجميع ومخطط تفصيلي

تنزيل

XMLSpread.exe تحتوي على ورقة أنماط XML ومشروع Visual Basic البرنامج النصي ل ASP الموضحة في هذه المقالة. يتوفر الملف التالي للتنزيل من مركز التنزيل ل Microsoft:
تنزيلقم بتنزيل الحزمة Xmlsprd.exe الآن.تاريخ الإصدار: 27 آذار/مارس 2001

لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft، انقر فوق رقم المقالة التالي عرضها في "قاعدة معارف Microsoft":
119591 كيفية الحصول على ملفات دعم Microsoft من خدمات الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدمت Microsoft أحدث برامج الكشف عن الفيروسات التي كانت متوفرة في التاريخ الذي تم نشر الملف فيه. يتم تخزين الملف على خوادم محسنة الأمان تساعد على منع إجراء أية تغييرات غير مصرح بها على الملف.
مراجع
لمزيد من المعلومات حول حفظ مجموعات السجلات ADO في تنسيق XML، راجع موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: لمزيد من المعلومات حول دفق محتوى MIME إلى تطبيقات Microsoft Office، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
266263 خطأ: Word و Excel 2000 عرض مصدر ASP عند استخدام نوع MIME لعرض البيانات
199841 كيفية عرض ASP نتائج استخدام Excel في برنامج IE بأنواع MIME
271572 كيف يتم تنسيق مصنف Excel أثناء دفق محتوى MIME
307021 كيفية نقل بيانات XML إلى Microsoft Excel 2002 باستخدام Visual Basic.NET
إكسملسبرد

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 285891 - آخر مراجعة: 01/02/2015 23:15:00 - المراجعة: 8.0

Microsoft Excel 2002 Standard Edition, Microsoft Active Server Pages 4.0, Microsoft Visual Basic 6.0 Professional Edition

  • kbdownload kbhowto kbmt KB285891 KbMtar
تعليقات
html> var Route = "76500"; var Ctrl = ""; document.write("