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

كيفية استخدام تنسيق ملف XML Office والمكونات الحزمة من 3.0 .NET Framework لإنشاء مصنف Excel 2007 بسيطة أو مستند Word 2007 بسيطة

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

اضغط هنا لرابط المقالة باللغة الانجليزية931866
مقدمة حول
توضح هذه المقالة كيفية استخدام Microsoft Office XML الملف تنسيق مكونات الحزمة من Microsoft .NET Framework 3.0 لإنشاء مصنف Microsoft Office Excel 2007 بسيطة أو مستند Microsoft Office Word 2007 بسيطة.
معلومات أخرى
أمثلة التعليمات البرمجية في هذا المقال إنشاء جديد Excel المصنف أو مستند Word جديد يحتوي على النص "مرحباً شبكة" بدون أتمتة Excel 2007 أو Word 2007.

متطلبات العميل

  • Microsoft Visual Studio 2005 أو Microsoft Visual C# 2005
  • .NET Framework 3.0
  • مرئي ملحقات 2005 Studio .NET Framework 3.0
  • Excel 2007 أو Word 2007

المثال خطوة بخطوة

إنشاء تطبيق يستند إلى Windows

  1. بدء تشغيل Visual Studio 2005 أو Visual C# 2005.
  2. إنشاء تطبيق Visual C# Windows جديد.
  3. إضافة مرجع إلى تجمع Windowsbase.dll.

    ملاحظة إذا لم يظهر مرجع Windowsbase.dll في علامة التبويب .NET من مربع الحوار إضافة المرجع, انقر فوق علامة التبويب "استعراض" ، حدد موقع المجلد assemblies\Microsoft\Framework\v3.0 Files\Reference C:\Program ثم انقر فوق WindowsBase.dll.
  4. في Visual Studio انقر فوق الرمز في القائمة "عرض" للتبديل إلى طريقة العرض تعليمات برمجية.
  5. إضافة توجيهات التالية في فئة Form1.
    		using System.Xml;	using System.IO;	using System.IO.Packaging;

إضافة رمز إلى إنشاء مصنف Excel

  1. في Visual Studio انقر فوق "مصمم" القائمة "عرض" للتبديل إلى طريقة العرض "تصميم" للنموذج.
  2. إضافة عنصر تحكم زر إلى نموذج Windows. تعيين نص الخاصية الزر إنشاء مصنف Excel.
  3. انقر نقراً مزدوجاً فوق عنصر تحكم زر إنشاء معالج الحدث button1_Click.
  4. إضافة مثال التعليمة البرمجية التالية إلى معالج الأحداث button1_Click. يجب على رمز معالج الحدث الجديدة تشبه المثال التعليمات البرمجية التالي. button1_Click(object sender, EventArgs e) خالية خاصة
    	private void button1_Click(object sender, EventArgs e)        {            //Create the XML documents.            XmlDocument workbookDoc = null;            workbookDoc = CreateExcelXML("workbook");            XmlDocument worksheetDoc = null;            worksheetDoc = CreateExcelXML("worksheet");            XmlDocument sharedstringsDoc = null;            sharedstringsDoc = CreateExcelXML("sharedstrings");            //Create the Excel package.            Package xlPackage = null;            xlPackage = CreateExcelWorkbookPackage("HelloWorld.xlsx");            //Add the parts to the Excel package.            if (xlPackage != null)            {                //Add the workbook part.                AddExcelPart(xlPackage, "workbook", workbookDoc);                //Add the worksheet part.                AddExcelPart(xlPackage, "worksheet", worksheetDoc);                //Add the sharedstrings part.                AddExcelPart(xlPackage, "sharedstrings", sharedstringsDoc);            }            //Save the changes, and then close the package.            if (xlPackage != null)            {                xlPackage.Flush();                xlPackage.Close();            }            MessageBox.Show("Successfully created Excel workbook");        }
  5. إضافة مثال التعليمة البرمجية التالية إلى فئة Form1. ينشئ هذا المثال رمز ويقوم إدراج مكونات XML التي تحتوي على أوراق عمل Excel. خاص
    	  private XmlDocument CreateExcelXML(string partType)        {            switch (partType)            {                case "workbook":                    //Create a new XML document for the workbook.                    XmlDocument workbookDoc = new XmlDocument();                    //Obtain a reference to the root node, and then add                    //the XML declaration.                    XmlElement wbRoot = workbookDoc.DocumentElement;                    XmlDeclaration wbxmldecl = 					workbookDoc.CreateXmlDeclaration					("1.0", "UTF-8", "yes");                    workbookDoc.InsertBefore(wbxmldecl, wbRoot);                    //Create and append the workbook node                    //to the document.                    XmlElement workBook = 					workbookDoc.CreateElement("workbook");                    workBook.SetAttribute("xmlns",                        "http://schemas.openxmlformats.org/" +                        "spreadsheetml/2006/main");                    workBook.SetAttribute("xmlns:r",                        "http://schemas.openxmlformats.org/officeDocument/" +                        "2006/relationships");                    workbookDoc.AppendChild(workBook);                    //Create and append the sheets node to the                     //workBook node.                    XmlElement sheets = workbookDoc.CreateElement("sheets");                    workBook.AppendChild(sheets);                    //Create and append the sheet node to the                     //sheets node.                    XmlElement sheet = workbookDoc.CreateElement("sheet");                    sheet.SetAttribute("name", "Sheet1");                    sheet.SetAttribute("sheetId", "1");  sheet.SetAttribute("id",				"http://schemas.openxmlformats.org/" +				"officeDocument/2006/relationships","rId1");                    sheets.AppendChild(sheet);                    return workbookDoc;                case "worksheet":                    //Create a new XML document for the worksheet.                    XmlDocument worksheetDoc = new XmlDocument();                    //Get a reference to the root node, and then add                    //the XML declaration.                    XmlElement wsRoot = worksheetDoc.DocumentElement;                    XmlDeclaration wsxmldecl =                         worksheetDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");                    worksheetDoc.InsertBefore(wsxmldecl, wsRoot);                    //Create and append the worksheet node                    //to the document.                    XmlElement workSheet = 					worksheetDoc.CreateElement("worksheet");                    workSheet.SetAttribute("xmlns",                        "http://schemas.openxmlformats.org/" +                        "spreadsheetml/2006/main");                    workSheet.SetAttribute("xmlns:r",                        "http://schemas.openxmlformats.org/" +                        "officeDocument/2006/relationships");                    worksheetDoc.AppendChild(workSheet);                                                           //Create and add the sheetData node.                    XmlElement sheetData = 					worksheetDoc.CreateElement("sheetData");                    workSheet.AppendChild(sheetData);                    //Create and add the row node.                     XmlElement rNode = worksheetDoc.CreateElement("row");                    rNode.SetAttribute("r", (1).ToString());                    rNode.SetAttribute("spans", "1:1");                    sheetData.AppendChild(rNode);                    //Create and add the column node.                    XmlElement cNode = worksheetDoc.CreateElement("c");                    cNode.SetAttribute("r", "A1");                    cNode.SetAttribute("t", "s");                    rNode.AppendChild(cNode);                    //Add the "Hello World" text to the worksheet.                    XmlElement vNode = worksheetDoc.CreateElement("v");                    vNode.InnerText = "0";                    cNode.AppendChild(vNode);                    return worksheetDoc;                                    case "sharedstrings":                    //Create a new XML document for the sharedStrings.                    XmlDocument sharedStringsDoc = new XmlDocument();                    //Get a reference to the root node, and then add                    //the XML declaration.                    XmlElement ssRoot = sharedStringsDoc.DocumentElement;                    XmlDeclaration ssxmldecl =                        sharedStringsDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");                    sharedStringsDoc.InsertBefore(ssxmldecl, ssRoot);                    //Create and append the sst node.                    XmlElement sstNode = 					sharedStringsDoc.CreateElement("sst");                    sstNode.SetAttribute("xmlns", 					"http://schemas.openxmlformats.org/" +                        "spreadsheetml/2006/main");                    sstNode.SetAttribute("count", "1");                    sstNode.SetAttribute("uniqueCount", "1");                    sharedStringsDoc.AppendChild(sstNode);                    //Create and append the si node.                    XmlElement siNode = sharedStringsDoc.CreateElement("si");                    sstNode.AppendChild(siNode);                    //Create and append the t node.                    XmlElement tNode = sharedStringsDoc.CreateElement("t");                    tNode.InnerText = "Hello World";                    siNode.AppendChild(tNode);                    return sharedStringsDoc;                            default:                    return null;            }        }        private Package CreateExcelWorkbookPackage(string fileName)        {            //Create a new Excel workbook package on the            //desktop of the user by using the specified name.            string desktopDir = System.Environment.GetFolderPath(                        Environment.SpecialFolder.DesktopDirectory);            Package xlPackage = Package.Open(desktopDir + "\\" + fileName,                    FileMode.Create, FileAccess.ReadWrite);            return xlPackage;        }        private void AddExcelPart(Package fPackage, string part, XmlDocument xDoc)        {            switch (part)            {                 case "workbook":                    string nsWorkbook = "application/vnd.openxmlformats-" +                            "officedocument.spreadsheetml.sheet.main+xml";                    string workbookRelationshipType = "http://schemas.openxmlformats.org/" +                            "officeDocument/2006/relationships/" +"officeDocument";                    Uri workBookUri = PackUriHelper.CreatePartUri(new                             Uri("xl/workbook.xml",UriKind.Relative));                    //Create the workbook part.                    PackagePart wbPart =                            fPackage.CreatePart(workBookUri, nsWorkbook);                    //Write the workbook XML to the workbook part.                    Stream workbookStream =                             wbPart.GetStream(FileMode.Create, 					FileAccess.Write);                    xDoc.Save(workbookStream);                    //Create the relationship for the workbook part.                    fPackage.CreateRelationship(workBookUri,                        TargetMode.Internal,workbookRelationshipType,"rId1");                    break;                case "worksheet":                    string nsWorksheet = "application/vnd.openxmlformats-" +                            "officedocument.spreadsheetml.worksheet+xml";                    string worksheetRelationshipType = 				"http://schemas.openxmlformats.org/" +                        "officeDocument/2006/relationships/worksheet";                    Uri workSheetUri = PackUriHelper.CreatePartUri(new                          Uri("xl/worksheets/sheet1.xml",UriKind.Relative));                    //Create the workbook part.                    PackagePart wsPart =                            fPackage.CreatePart(workSheetUri, nsWorksheet);                    //Write the workbook XML to the workbook part.                    Stream worksheetStream =                              wsPart.GetStream(FileMode.Create, 					FileAccess.Write);                    xDoc.Save(worksheetStream);                    //Create the relationship for the workbook part.                    Uri wsworkbookPartUri = PackUriHelper.CreatePartUri(new                             Uri("xl/workbook.xml",UriKind.Relative));                    PackagePart wsworkbookPart = 					fPackage.GetPart(wsworkbookPartUri);                    wsworkbookPart.CreateRelationship(workSheetUri,                              TargetMode.Internal, worksheetRelationshipType,"rId1");                                        break;                case "sharedstrings":                    string nsSharedStrings = 				"application/vnd.openxmlformats-officedocument" +                        ".spreadsheetml.sharedStrings+xml";                    string sharedStringsRelationshipType = "http://schemas.openxmlformats.org" +                            "/officeDocument/2006/relationships/sharedStrings";                    Uri sharedStringsUri = PackUriHelper.CreatePartUri(new                          Uri("xl/sharedStrings.xml", UriKind.Relative));                    //Create the workbook part.                    PackagePart sharedStringsPart =                          						fPackage.CreatePart(sharedStringsUri,nsSharedStrings);                    //Write the workbook XML to the workbook part.                    Stream sharedStringsStream =                            sharedStringsPart.GetStream(FileMode.Create,FileAccess.Write);                    xDoc.Save(sharedStringsStream);                    //Create the relationship for the workbook part.                    Uri ssworkbookPartUri = PackUriHelper.CreatePartUri(new                            Uri("xl/workbook.xml", UriKind.Relative));                    PackagePart ssworkbookPart = 					fPackage.GetPart(ssworkbookPartUri);                    ssworkbookPart.CreateRelationship(sharedStringsUri,                            TargetMode.Internal, 					sharedStringsRelationshipType,"rId2");                    break;            }        }
  6. حفظ المشروع.

إضافة رمز إلى إنشاء مستند Word

  1. في Visual Studio انقر فوق "مصمم" القائمة "عرض" للتبديل إلى طريقة العرض "تصميم" للنموذج.
  2. إضافة عنصر تحكم زر آخر إلى نموذج Windows. تعيين الخاصية Text الزر إلى إنشاء مستند Word.
  3. انقر نقراً مزدوجاً فوق عنصر تحكم زر إنشاء معالج الحدث button2_Click.
  4. إضافة رمز إلى معالج الأحداث button2_Click بحيث أن تشابه المثال التعليمات البرمجية التالي.
    	private void button2_Click(object sender, EventArgs e)        {            //Create the XML for the Word document.            XmlDocument xDoc = null;            xDoc = CreateDocumentXML("Hello World");            //Create the Word document package.            if (xDoc != null)            {                bool hResult = CreateWordDocumentPackage("HelloWorld.docx",			 xDoc);                if (hResult == true)                {                    MessageBox.Show("Successfully created Word document");                }            }        }        
  5. إضافة مثال التعليمة البرمجية التالية إلى فئة Form1. ينشئ هذا المثال رمز و إدراج مكونات XML التي تحتوي على Word في المستند. خاص
    	private XmlDocument CreateDocumentXML(string docText)        {            string nsWordML =                  "http://schemas.openxmlformats.org/wordprocessingml" +                  "/2006/main";                        //Create a new XML document.            XmlDocument xDoc = new XmlDocument();            //Create and add the document node.            XmlElement docNode =               xDoc.CreateElement("w:document", nsWordML);            xDoc.AppendChild(docNode);            //Create and add the body node to the             //document node.            XmlElement bodyNode =                 xDoc.CreateElement("w:body", nsWordML);            docNode.AppendChild(bodyNode);            //Create and add the wp node to the docNode.            XmlElement wpNode =               xDoc.CreateElement("w:p", nsWordML);            bodyNode.AppendChild(wpNode);            //Create and add the wr node to the wpNode.            XmlElement wrNode =               xDoc.CreateElement("w:r", nsWordML);            wpNode.AppendChild(wrNode);            //Create and add the wt node to the wrNode.            XmlElement wtNode =               (XmlElement)xDoc.CreateNode(XmlNodeType.Element,               "w", "t", nsWordML);            wrNode.AppendChild(wtNode);            //Add the supplied text to the wtNode.            wtNode.InnerText = docText;            return xDoc;        }       private bool CreateWordDocumentPackage(string fileName, XmlDocument xDoc)        {            try            {                string docContentType = "application/vnd.openxmlformats-" +                        "officedocument.wordprocessingml." +                        "document.main+xml";                                string docRelationshipType = 				"http://schemas.openxmlformats.org" +                        "/officeDocument/2006/relationships/" +                        "officeDocument";                //Create a new package file on the desktop of the user by using                //the supplied file name.                string desktopDir = System.Environment.GetFolderPath(                        Environment.SpecialFolder.DesktopDirectory);                Package pkg = Package.Open(desktopDir + "\\" + fileName,                       FileMode.Create, FileAccess.ReadWrite);                                                            //Create a Uri for the document part.                Uri docPartURI = PackUriHelper.CreatePartUri(                       new Uri("/word/document.xml",                        UriKind.Relative));                //Create the document part.                PackagePart pkgPart = 				pkg.CreatePart(docPartURI,docContentType);                //Add the data from XMLDocument to the document part.                Stream partStream = pkgPart.GetStream(                    FileMode.Create, FileAccess.Write);                                   xDoc.Save(partStream);                //Create a relationship between the document part                //and the package.                PackageRelationship pkgRelationship =                         pkg.CreateRelationship(docPartURI,                        TargetMode.Internal,docRelationshipType, "rId1");                                                //Flush the changes, and then close the package.                pkg.Flush();                pkg.Close();                                return true;            }            catch (Exception ex)            {                //Display a message to the user the indicates that an error                //occurred, and then return a result of false.                MessageBox.Show("An error occurred creating the document." +                    " " + ex.Message,"Error Creating Document",                    MessageBoxButtons.OK,MessageBoxIcon.Error);                return false;            }        }
  6. في Visual Studio 2005 ، انقر فوق بدء التصحيح على القائمة "تصحيح".
  7. انقر فوق إنشاء مصنف Excel. يظهر مربع رسالة تشير إلى إنشاء المصنف بنجاح إنشاء ملف HelloWorld.xlsx على سطح المكتب.
  8. في Excel 2007 فتح المصنف. لاحظ أنه يتم فتح المصنف في Excel 2007 ورقة العمل الورقة1 يحتوي على النص "مرحباً شبكة".
  9. انقر فوق إنشاء مستند Word. يظهر مربع رسالة تشير إلى إنشاء المستند بنجاح إنشاء ملف HelloWorld.docx على سطح المكتب.
  10. في الإصدار Word 2007، قم بفتح المستند. لاحظ فتح المستند ضمن Word المستند يحتوي على النص "مرحباً شبكة".

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

خصائص

رقم الموضوع: 931866 - آخر مراجعة: 02/27/2007 20:27:47 - المراجعة: 1.3

Microsoft Visual Studio 2005 Professional Edition, Microsoft Visual Studio 2005 Standard Edition, Microsoft Visual Studio 2005 Express Edition, Microsoft Office Excel 2007, Microsoft Office Word 2007, Microsoft .NET Framework 3.0, Microsoft Visual C# 2005 Express Edition

  • kbmt kbexpertiseinter kbhowto KB931866 KbMtar
تعليقات
ml>text/JavaScript" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" >/html>e-ko-kr">대한민국 - 한국어
España - Español
Paraguay - Español
Venezuela - Español
did=1&t=">050&did=1&t=">id=1&t=">