منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

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

حفظ خرائط أكسل Excel Chart كملف صورة Picture  Empty حفظ خرائط أكسل 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"
و الصورة التالية توضح المصنف بعد إدخال البيانات الية :

حفظ خرائط أكسل Excel Chart كملف صورة Picture  Vb.net_excel_chart_data
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
و الصورة التالية توضح المخطط أو الخريطة بعد إنشائها

حفظ خرائط أكسل Excel Chart كملف صورة Picture  Vb.net_excel_chart_export
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

تحياتى لكم
avatar
أبوسجود
......
......

تاريخ التسجيل : 18/02/2011
المساهمات : 101
النقاط : 187
التقيم : 8
الجنس : ذكر

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

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

ََ

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


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