التعامل مع مصنفات الاكسل فى #C ... درس (6):إنشاء مخطط أكسل Excel Chart

اذهب الى الأسفل

التعامل مع مصنفات الاكسل فى #C ... درس (6):إنشاء مخطط أكسل Excel Chart Empty التعامل مع مصنفات الاكسل فى #C ... درس (6):إنشاء مخطط أكسل Excel Chart

مُساهمة من طرف أحمد مناع في الثلاثاء ديسمبر 24, 2013 11:08 am

بسم الله الرحمن الرحيم 

أهلا وسهلا بكم إخوانى الكرام ...درس اليوم عن كيفية إنشاء خرائط أكسل Excel Chart و ذلك على النحو التالى :


1_ فى البداية _و كما تعودنا_يجب أدراج المكتبة Excel object Library الى المشروع و ذلك من خلال تحديد ايقونة المشروع فى نافذة Solution Explorer ثم النقر يمين و من القائمة التى ستظهر قم باختيار الامر Add Reference


2_ تحتاج إلى إضافة المرجع في شفرة المشروع من أجل استخدام كافة الأسالييب المكتبة Microsoft Excel Object Library  و يتم ذلك على النحو التالى:
الكود:
using Excel = Microsoft.Office.Interop.Excel;

3_ إنشاء مثيل جديد للكائن تطبيق Excel  وذلك بأستخدام الشفرة التالية :

الكود:
Excel.Application xlApp = new Excel.Application();
 

4_الاعلان عن كائنات العمل 

الكود:
Excel.Workbook xlWorkBook ;
            Excel.Worksheet xlWorkSheet ;
            object misValue = System.Reflection.Missing.Value;

5_بعد قيامنا بالاعلان عن كافة الكائنات التى سيتم أستخدامها فى انشاء مصنف أكسل ...نقوم بأنشاء المصنف على النحو التالى :

الكود:
xlWorkBook = xlApp.Workbooks.Add(misValue);

6_ نقوم بانشاء ورقة العمل Worksheet على النحو التالى :

الكود:
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

حيث أن الرقم (1) هو رقم الفهرس لاول ورقة عمل فى المصنف الاكسل الذى تم إنشائه .


7_إضافة بعض البيانات فى ورقة العمل الحالية لاستخدامها فى Excel Chart وذلك على النحو التالى :
الكود:
 xlWorkSheet.Cells[4, 2] = "";
            xlWorkSheet.Cells[4, 3] = "الطالب /أحمد";
            xlWorkSheet.Cells[4, 4] = "الطالب /سيد";
            xlWorkSheet.Cells[4, 5] = "الطالب /محمود";

            xlWorkSheet.Cells[5, 2] = "Term1";
            xlWorkSheet.Cells[5, 3] = "80";
            xlWorkSheet.Cells[5, 4] = "65";
            xlWorkSheet.Cells[5, 5] = "45";

            xlWorkSheet.Cells[6, 2] = "Term2";
            xlWorkSheet.Cells[6, 3] = "78";
            xlWorkSheet.Cells[6, 4] = "72";
            xlWorkSheet.Cells[6, 5] = "60";

            xlWorkSheet.Cells[7, 2] = "Term3";
            xlWorkSheet.Cells[7, 3] = "82";
            xlWorkSheet.Cells[7, 4] = "80";
            xlWorkSheet.Cells[7, 5] = "65";

            xlWorkSheet.Cells[8, 2] = "Term4";
            xlWorkSheet.Cells[8, 3] = "75";
            xlWorkSheet.Cells[8, 4] = "82";
            xlWorkSheet.Cells[8, 5] = "68";

و الكود أعلاه سيقوم باضافة بيانات فى روقة العمل كما فى الصورة التالية :


8_ لكى نستطيع إنشاء مخطط أكسل يجب كتابة الشفرات التالية :


  • فى البداية نقوم بإنشاء مخطط فارغ باستخدام الشفرة التالية

الكود:
 Excel.Shape chart1 = xlWorkSheet.Shapes.AddChart(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

حيث أن Type.Missing هى ملعمات إفتراضية يتم تجاهلها لاننى أفضل إنشاء مخطط فارغ و أقوم بتنسيقة فيما بعد


  • تعيين نوع المخطط ...حيث يوجد أنواع كثيرة من المخططات المختلفة مثل التخطيط الدائري، الرسم البياني، 3-D شريط الرسم البياني الخ ويمكنك أختيار المخطط المناسب لك من هنا ثم نقوم بكتابة الشفرة على النحو التالى :


الكود:
chart1.Chart.ChartType = Excel.XlChartType.xlColumnClustered;


  • تعيين مصدر البيانات للمخطط على النحو التالى :

الكود:
Excel.Range Rng;
Rng = oSheet.get_Range("A2", "C10");
chart1.Chart.SetSourceData(Rng, Type.Missing);


  • الان يمكنك من تعين المحاور ووضع التخطيط في ورقة اكسل.مثل تعيين معلمات مختلفة مثل العنوان، ومحور س والمحور ص باستخدام التعليمات البرمجية التالية.


_ وضع عنوان للمخطط
الكود:
chart1.Chart.HasTitle = true;
 chart1.Chart.ChartTitle.Text = "Population Growth";

_ تعين المحور س
الكود:
var yaxis = (Excel.Axis)chart1.Chart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary);
 yaxis.HasTitle = true;
 yaxis.AxisTitle.Text = "Growth";
 yaxis.AxisTitle.Orientation = Excel.XlOrientation.xlVertical;

_ تعين المحور ص
الكود:
var xaxis = (Excel.Axis)chart1.Chart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
 xaxis.HasTitle = true;
 xaxis.AxisTitle.Text = "Population";
 yaxis.AxisTitle.Orientation = Excel.XlOrientation.xlHorizontal;

_ تعين الاسطر
الكود:

            chart1.Chart.SeriesCollection(1).Name = (String)xlWorkSheet.get_Range("B1").Value2;
            chart1.Chart.SeriesCollection(2).Name = (String)xlWorkSheet.get_Range("C1").Value2;

_ تعين حجم المخطط
الكود:
chart1.Width = 350;
            chart1.Height = 350;
            chart1.Left = (float)xlWorkSheet.get_Range("D1").Left;
            chart1.Top = (float)xlWorkSheet.get_Range("D3").Top;

9_ حفظ مصنف الاكسل و أغلاق كائنات العمل :

الكود:
xlWorkBook.SaveAs("csharp.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();


 Neutral Neutral

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 994
النقاط : 201783
التقيم : 119
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى