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

كيفية نقل بيانات XML إلى Microsoft Excel 2002 أو Microsoft Excel 2003 باستخدام Visual C#

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

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

باستخدام Microsoft Visual C# 2005 أو Microsoft Visual C# .NET يمكنك أخذ الاستفادة وظائف XML في Excel بشكل متميز نقل البيانات إلى مصنف بغرض تقديم البيانات بتنسيق ترتيب من اختيارك. توضح هذه المقالة كيفية تنفيذ هذه المهمة.

إنشاء XML من DataSet عن استخدام في Excel 2002 أو Excel 2003

يوضح هذا القسم كيفية إنشاء كائن DataSet وتصدير بيانات يحتوي على ملف XML باستخدام أسلوب WriteXML. يمكن فتح ملف XML الذي تم إنشاؤه مباشرة في Excel. لأغراض التوضيح تم إنشاء الكائن DataSet من نموذج قاعدة بيانات Microsoft Access Northwind باستخدام موفر Jet OLEDB. ومع ذلك، يعمل رمز مشابه مع أي كائن DataSet التي تقوم بإنشائها بواسطة Visual C# 2005 أو Visual C# .NET.
  1. بدء تشغيل Microsoft Visual Studio 2005 أو Microsoft Visual Studio .NET. من القائمة ملف، انقر فوق جديد ثم انقر فوق المشروع. حدد تطبيق Windows من أنواع Visual C# "المشاريع". يتم إنشاء Form1 بشكل افتراضي.
  2. من القائمة عرض، حدد Toolbox عرض مربع الأدوات ثم تقوم بإضافة زر Form1.
  3. انقر نقراً مزدوجاً فوق Button1. يظهر إطار التعليمات البرمجية النموذج.
  4. إضافة توجيهات باستخدام التالية إلى أعلى Form1.cs:
    using System.Data.OleDb;using System.Xml;					
  5. إضافة متغير العضو الخاصة التالية إلى فئة Form1:
    private string strConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="	+ " C:\\Program Files\\Microsoft Office\\Office10\\Samples\\"	+ "Northwind.mdb;";					
    ملاحظة قد تحتاج إلى تعديل مسار Northwind.mdb في سلسلة الاتصال لتطابق التثبيت الخاص بك.
  6. إضافة التعليمات البرمجية التالية إلى معالج button1_Click: //Connect
    //Connect to the data source.         OleDbConnection objConn = new OleDbConnection (strConn);         try         {            objConn.Open();			            //Fill a dataset with records from the Customers table.            OleDbCommand objCmd = new OleDbCommand(               "Select CustomerID, CompanyName, ContactName, "                + "Country, Phone from Customers", objConn);            OleDbDataAdapter objAdapter = new OleDbDataAdapter();            objAdapter.SelectCommand = objCmd;            DataSet objDataset = new DataSet();            objAdapter.Fill(objDataset);            //Create the FileStream to write with.            System.IO.FileStream fs = new System.IO.FileStream(               "C:\\Customers.xml", System.IO.FileMode.Create);            //Create an XmlTextWriter for the FileStream.            System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter(               fs, System.Text.Encoding.Unicode);            //Add processing instructions to the beginning of the XML file, one             //of which indicates a style sheet.            xtw.WriteProcessingInstruction("xml", "version='1.0'");            //xtw.WriteProcessingInstruction("xml-stylesheet",               // "type='text/xsl' href='customers.xsl'");            //Write the XML from the dataset to the file.            objDataset.WriteXml(xtw);            xtw.Close();            //Close the database connection.            objConn.Close();         }         catch (System.Exception ex)         {            MessageBox.Show(ex.Message);         } 					
    ملاحظة أنه يجب تغيير التعليمات البرمجية في Visual Studio 2005. بشكل افتراضي، Visual C# إضافة نموذج إلى المشروع عند قيامك بإنشاء مشروع نماذج Windows. يُسمى النموذج Form1. يتم تسمية الملفين التي تمثل النموذج Form1.cs و Form1.designer.cs. كتابة التعليمات البرمجية في Form1.cs. يعد الملف Form1.designer.cs حيث يكتب & مصمم نماذج Windows التعليمات البرمجية التي تقوم بتنفيذ كافة الإجراءات تنفيذه بواسطة سحب وإفلات عناصر التحكم من مربع الأدوات.

    للحصول على مزيد من المعلومات حول مصمم نماذج Windows في Visual C# 2005 المطور Microsoft التالية بزيارة موقع ويب Network (MSDN):
  7. اضغط F5 لإنشاء البرنامج وتشغيله.
  8. انقر فوق Button1 لإنشاء ملف XML ثم أغلق Form1 لإنهاء البرنامج.
  9. بدء تشغيل Excel 2002 أو Excel 2003 ثم فتح ملف الإخراج C:\Customers.xml.
  10. بعد أن يكون لديك الملاحظة كيفية قد تم توزيع XML في الصفوف والأعمدة في المصنف الجديد ، بإغلاق الملف ثم قم بإنهاء Excel.

تنسيق XML باستخدام أوراق الأنماط

هذه الخطوة لك كيفية استخدام ورقة أنماط (XSL) تحويل كيفية تهيئة بيانات XML ويتم ترتيبها في مصنف Excel.
  1. Using any HTML editor or a text editor (such as Notepad.exe), save the following XSL as C:\Customers.xsl:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  <xsl:template match="/">    <HTML>      <HEAD>        <STYLE>             .HDR { background-color:bisque;font-weight:bold }        </STYLE>      </HEAD>      <BODY>        <TABLE>          <COLGROUP WIDTH="100" ALIGN="CENTER"></COLGROUP>          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>          <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>          <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>          <TD CLASS="HDR">Customer ID</TD>          <TD CLASS="HDR">Company</TD>          <TD CLASS="HDR">Contact</TD>          <TD CLASS="HDR">Country</TD>          <TD CLASS="HDR">Phone</TD>          <xsl:for-each select="NewDataSet/Table">            <TR>              <TD><xsl:value-of select="CustomerID"/></TD>              <TD><xsl:value-of select="CompanyName"/></TD>              <TD><xsl:value-of select="ContactName"/></TD>              <TD><xsl:value-of select="Country"/></TD>              <TD><xsl:value-of select="Phone"/></TD>            </TR>          </xsl:for-each>        </TABLE>      </BODY>    </HTML>  </xsl:template></xsl:stylesheet> 					
  2. uncomment السطر التالي من التعليمات البرمجية في معالج button1_Click: يستخدم
    xtw.WriteProcessingInstruction("xml-stylesheet", 	"type='text/xsl' href='customers.xsl'");					
    يكتب هذا السطر من التعليمة البرمجية إرشادات معالجة ملف XML الذي Excel لتحديد موقع ورقة أنماط (Customers.xsl).

  3. اضغط F5 لإنشاء البرنامج وتشغيله.
  4. انقر فوق Button1 لإنشاء ملف XML ثم أغلق Form1 لإنهاء البرنامج.
  5. بدء تشغيل Excel 2002 أو Excel 2003 ثم فتح ملف الإخراج C:\Customers.xml.
  6. لأن Excel يشاهد إرشادات معالجة للحصول على ورقة أنماط في XML ، تتلقى مطالبة مربع حوار عند فتح الملف. في مربع الحوار استيراد XML حدد فتح تطبيق الملف مع ورقة الأنماط التالية. في القائمة، حدد Customers.xsl ثم انقر فوق موافق. لاحظ تنسيق بيانات XML أنه قد تم ترتيب الأعمدة وفقاً لورقة الأنماط.
  7. قم بإغلاق الملف ثم قم بإنهاء Excel.

استخدام الرمز إلى فتح XML محولة

إلى هذه النقطة لقد قمت بفتح ملف XML باستخدام واجهة المستخدم في Excel. يوضح هذا القسم كيفية أتمتة Excel فتح المصنف برمجياً. يوضح نموذج التالي كيفية فتح XML محولة دون تدخل المستخدم عن طريق تحويل XML في الكائن DataSet إلى HTML.
  1. إضافة مرجع إلى "مكتبة كائنات Microsoft Excel 10.0 أو مكتبة كائنات Microsoft Excel 11.0". للقيام بذلك، اتبع الخطوات التالية:
    1. من القائمة المشروع انقر فوق إضافة مرجع.
    2. في علامة التبويب COM تحديد موقع مكتبة كائنات Microsoft Excel 10.0 أو مكتبة كائنات Microsoft Excel 11.0 ثم انقر فوق تحديد.
    3. انقر فوق موافق في مربع الحوار إضافة مراجع لقبول التحديد الخاص بك. إذا تلقيت موجه لإنشاء wrappers لمكتبة الذي حددته, انقر فوق "نعم".
  2. إضافة توجيهات باستخدام التالية إلى أعلى Form1.cs:
    using Excel = Microsoft.Office.Interop.Excel;					
  3. في مشروع Visual C# 2005 أو Visual C# .NET إضافة زر آخر إلى Form1.
  4. انقر نقراً مزدوجاً فوق Button2. عندما إطار التعليمات البرمجية لـ يظهر النموذج بإضافة التعليمة البرمجية التالية إلى معالج Button2_Click: //Connect
    //Connect to the data source.OleDbConnection objConn = new OleDbConnection (strConn);objConn.Open();			//Fill a dataset with records from the Customers table.OleDbCommand objCmd = new OleDbCommand(	"Select CustomerID, CompanyName, ContactName, " 	+ "Country, Phone from Customers", objConn);OleDbDataAdapter objAdapter = new OleDbDataAdapter();objAdapter.SelectCommand = objCmd;DataSet objDataset = new DataSet();objAdapter.Fill(objDataset);//Create the FileStream to write with.System.IO.FileStream fs = new System.IO.FileStream(	"C:\\Customers.htm", System.IO.FileMode.Create);//Create an XmlTextWriter for the FileStream.System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter(	fs, System.Text.Encoding.Unicode);//Transform the XML using the stylesheet.XmlDataDocument xmlDoc = new XmlDataDocument(objDataset);System.Xml.Xsl.XslTransform xslTran = new System.Xml.Xsl.XslTransform();xslTran.Load("C:\\Customers.xsl");xslTran.Transform(xmlDoc, null, xtw);//Open the HTML file in Excel.Excel.Application oExcel = new Excel.Application();oExcel.Visible=true;oExcel.UserControl=true;Excel.Workbooks oBooks = oExcel.Workbooks;object oOpt = System.Reflection.Missing.Value; //for optional argumentsoBooks.Open("c:\\customers.htm", oOpt, oOpt, oOpt, 	oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, 	oOpt, oOpt, oOpt);					
  5. اضغط F5 لإنشاء البرنامج وتشغيله.
  6. انقر فوق Button2 لفتح XML محولة في Excel.
ملاحظة بينما Excel 2002 و Excel طراز كائن 2003 كشف أسلوب OpenXML يمكّنك من برمجياً فتح ملف XML مع تطبيق صفحات ، لن يقوم النموذج السابق باستدعاء هذا الأسلوب بسبب مشكلة معروفة باستخدام هذا الأسلوب من عميل التنفيذ. يعمل الأسلوب OpenXML كما هو متوقع عند استدعاء من ماكرو Excel ومع ذلك، عندما يتم استدعاء هذا الأسلوب من عميل التنفيذ المعلمة ورقة أنماط يتم تجاهل. للحصول على معلومات إضافية، انقر فوق رقم المقالة أدناه لعرضها في "قاعدة المعارف لـ Microsoft:
307230BUG: المتجاهلة معلمة صفحات من أسلوب OpenXML عند أتمتة Excel 2002
مراجع
لمزيد من المعلومات، راجع مقالات "قاعدة المعارف" التالية:
288215INFO: Microsoft Excel 2002 و XML
302084كيف لجعل Microsoft Excel من Visual C# .NET
301216كيفية تعبئة الكائن DataSet من قاعدة بيانات باستخدام Visual Basic .NET
306023كيفية نقل البيانات إلى مصنف Excel باستخدام Visual C# .NET
ورقة أنماط التحويل XSLTransform WriteXML OpenXML

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

خصائص

رقم الموضوع: 307029 - آخر مراجعة: 12/11/2006 20:14:48 - المراجعة: 7.5

Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft ADO.NET 1.0, Microsoft Excel 2002 Standard Edition, Microsoft Office Excel 2003

  • kbmt kbhowtomaster KB307029 KbMtar
تعليقات
> html>icrosoft.com/c.gif?DI=4050&did=1&t=">/html>html>t=">body>body>/html>