حفظ خرائط أكسل Excel Chart كملف صورة Picture

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

حفظ خرائط أكسل Excel Chart كملف صورة Picture

مُساهمة من طرف أبوسجود في السبت نوفمبر 23, 2013 2:07 pm

بسم الله الرحمن الرحيم
أهلا بكم يوضح المقال التالي كيف يمكن تصدير خرائط من Excel لملف الصورة مثل، BMP، JPG، GIF .....إلخ...فى البداية  سنقوم بتوضيح خطوات فعل ذلك على النحو التالى :

1_ بكتابة الشفرات اللازمة لانشاء مصنف و ورقة عمل أكسل
2_ كتابة الشفرات اللازمة لادخال بيانات فى خلاليا المصنف
3_كتابة الشفرات اللازمة لانشاء كائن تخطيط بناء على بيانات الملف
4_تصدير أو حفظ الخريطة كصورة على الهارد


ويتم ذلك على النحو التالى :

1_ الشفرات الخاصة لانشاء مصنف أكسل

_ فى القسم العام نقوم بإستيراد المكتبة التالية :
الرمز:
Imports Excel = Microsoft.Office.Interop.Excel
_فى حدث النقر لزر الامر إنشاء نكتب الشفرة التالية المسؤلة عن إنشاء مصنف العمل
الرمز:
Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value

        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add(misValue)
        xlWorkSheet = xlWorkBook.Sheets("sheet1")
2_ نقوم بعد ذلك بادخال البيانات فى خلايا المصنف على النحو التالى :
الرمز:
xlWorkSheet.Cells(1, 1) = ""
        xlWorkSheet.Cells(1, 2) = "Student1"
        xlWorkSheet.Cells(1, 3) = "Student2"
        xlWorkSheet.Cells(1, 4) = "Student3"

        xlWorkSheet.Cells(2, 1) = "Term1"
        xlWorkSheet.Cells(2, 2) = "80"
        xlWorkSheet.Cells(2, 3) = "65"
        xlWorkSheet.Cells(2, 4) = "45"

        xlWorkSheet.Cells(3, 1) = "Term2"
        xlWorkSheet.Cells(3, 2) = "78"
        xlWorkSheet.Cells(3, 3) = "72"
        xlWorkSheet.Cells(3, 4) = "60"

        xlWorkSheet.Cells(4, 1) = "Term3"
        xlWorkSheet.Cells(4, 2) = "82"
        xlWorkSheet.Cells(4, 3) = "80"
        xlWorkSheet.Cells(4, 4) = "65"

        xlWorkSheet.Cells(5, 1) = "Term4"
        xlWorkSheet.Cells(5, 2) = "75"
        xlWorkSheet.Cells(5, 3) = "82"
        xlWorkSheet.Cells(5, 4) = "68"
و الصورة التالية توضح المصنف بعد إدخال البيانات الية :

3_ نقوم بإنشاء مخطط أكسل بناء على البيانات السابقة على النحو التالى :
الرمز:
Dim chartPage As Excel.Chart
        Dim xlCharts As Excel.ChartObjects
        Dim myChart As Excel.ChartObject
        Dim chartRange As Excel.Range

        xlCharts = xlWorkSheet.ChartObjects
        myChart = xlCharts.Add(10, 80, 300, 250)
        chartPage = myChart.Chart
        chartRange = xlWorkSheet.Range("A1", "d5")
        chartPage.SetSourceData(Source:=chartRange)
        chartPage.ChartType = Excel.XlChartType.xlColumnClustered
و الصورة التالية توضح المخطط أو الخريطة بعد إنشائها

4_ تصدير تلك الخريطة الى ملف صورة بتنسيق أو بإمتداد BMP على النحو التالى :

الرمز:
xlWorkSheet.ChartObjects(1).chart.Export(FileName:= _
        "C:\excel_chart_export.bmp", FilterName:="BMP")
5_حفظ مصنف أكسل الذى تم إنشاءة و أغلاق كائفة الكائنات المستخدمة على النحو التالى :
الرمز:
xlWorkSheet.SaveAs("C:\vbexcel.xlsx")
        xlWorkBook.Close()
        xlApp.Quit()

        releaseObject(xlApp)
        releaseObject(xlWorkBook)
        releaseObject(xlWorkSheet)

        MsgBox("Chart File Exported !")
و الشفرة الكاملة ستكون على النحو التالى :

الرمز:
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click

        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value

        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add(misValue)
        xlWorkSheet = xlWorkBook.Sheets("sheet1")

        'add data
        xlWorkSheet.Cells(1, 1) = ""
        xlWorkSheet.Cells(1, 2) = "Student1"
        xlWorkSheet.Cells(1, 3) = "Student2"
        xlWorkSheet.Cells(1, 4) = "Student3"

        xlWorkSheet.Cells(2, 1) = "Term1"
        xlWorkSheet.Cells(2, 2) = "80"
        xlWorkSheet.Cells(2, 3) = "65"
        xlWorkSheet.Cells(2, 4) = "45"

        xlWorkSheet.Cells(3, 1) = "Term2"
        xlWorkSheet.Cells(3, 2) = "78"
        xlWorkSheet.Cells(3, 3) = "72"
        xlWorkSheet.Cells(3, 4) = "60"

        xlWorkSheet.Cells(4, 1) = "Term3"
        xlWorkSheet.Cells(4, 2) = "82"
        xlWorkSheet.Cells(4, 3) = "80"
        xlWorkSheet.Cells(4, 4) = "65"

        xlWorkSheet.Cells(5, 1) = "Term4"
        xlWorkSheet.Cells(5, 2) = "75"
        xlWorkSheet.Cells(5, 3) = "82"
        xlWorkSheet.Cells(5, 4) = "68"

        'create chart
        Dim chartPage As Excel.Chart
        Dim xlCharts As Excel.ChartObjects
        Dim myChart As Excel.ChartObject
        Dim chartRange As Excel.Range

        xlCharts = xlWorkSheet.ChartObjects
        myChart = xlCharts.Add(10, 80, 300, 250)
        chartPage = myChart.Chart
        chartRange = xlWorkSheet.Range("A1", "d5")
        chartPage.SetSourceData(Source:=chartRange)
        chartPage.ChartType = Excel.XlChartType.xlColumnClustered

        'exporting chart as picture file
        xlWorkSheet.ChartObjects(1).chart.Export(FileName:= _
        "C:\excel_chart_export.bmp", FilterName:="BMP")

        xlWorkSheet.SaveAs("C:\vbexcel.xlsx")
        xlWorkBook.Close()
        xlApp.Quit()

        releaseObject(xlApp)
        releaseObject(xlWorkBook)
        releaseObject(xlWorkSheet)

        MsgBox("Chart File Exported !")
    End Sub

    Private Sub releaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub
End Class

تحياتى لكم

أبوسجود
.....
.....

تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس : ذكر

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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