دفتر عمل الرسم البياني
تعيين بيانات الرسم البياني من دفتر العمل
يوفر Aspose.Slides بعض الطرق التي تتيح لك قراءة وكتابة دفاتر عمل بيانات الرسم البياني (التي تحتوي على بيانات الرسم البياني المعدلة باستخدام Aspose.Cells). ملاحظة أن بيانات الرسم البياني يجب أن تكون منظمة بنفس الطريقة أو يجب أن تحتوي على بنية مشابهة للمصدر.
يوضح هذا الكود بلغة بايثون عملية نموذجية:
import aspose.slides.charts as charts
import aspose.slides as slides
# يقوم بإنشاء فئة عرض تقديمي تمثل ملف عرض تقديمي
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True)
series = chart.chart_data.series
series[0].labels.default_data_label_format.show_label_value_from_cell = True
wb = chart.chart_data.chart_data_workbook
series[0].labels[0].value_from_cell = wb.get_cell(0, "A10", "قيمة خلية التصنيف 0")
series[0].labels[1].value_from_cell = wb.get_cell(0, "A11", "قيمة خلية التصنيف 1")
series[0].labels[2].value_from_cell = wb.get_cell(0, "A12", "قيمة خلية التصنيف 2")
pres.save("resultchart.pptx", slides.export.SaveFormat.PPTX)
تعيين خلية دفتر العمل كعلامة بيانات الرسم البياني
- إنشاء مثيل من فئة Presentation .
- الحصول على مرجع الشريحة من خلال فهرسها.
- إضافة رسم بياني من نوع الفقاعة ببعض البيانات.
- الوصول إلى سلسلة الرسم البياني.
- تعيين خلية دفتر العمل كعلامة بيانات.
- حفظ العرض التقديمي.
يوضح هذا الكود بلغة بايثون كيفية تعيين خلية دفتر العمل كعلامة بيانات لرسم بياني: xxx
إدارة أوراق العمل
يوضح هذا الكود بلغة بايثون عملية حيث يتم استخدام خاصية worksheets
للوصول إلى مجموعة أوراق العمل:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.PIE, 50, 50, 400, 500)
wb = chart.chart_data.chart_data_workbook
for i in range(len(wb.worksheets)):
print(wb.worksheets[i].name)
تحديد نوع مصدر البيانات
يوضح هذا الكود بلغة بايثون كيفية تحديد نوع لمصدر البيانات:
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.COLUMN_3D, 50, 50, 600, 400, True)
val = chart.chart_data.series[0].name
val.data_source_type = slides.charts.DataSourceType.STRING_LITERALS
val.data = "سلسلة حرفية"
val = chart.chart_data.series[0].name
val.data = chart.chart_data.chart_data_workbook.get_cell(0, "B1", "خلية جديدة")
pres.save("pres.pptx", slides.export.SaveFormat.PPTX)
دفتر العمل الخارجي
إنشاء دفتر عمل خارجي
باستخدام بعض الطرق من IChartData
، يمكنك إما إنشاء دفتر عمل خارجي من الصفر أو جعل دفتر العمل الداخلي خارجي.
يوضح هذا الكود بلغة بايثون عملية إنشاء دفتر العمل الخارجي:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.PIE, 50, 50, 500, 400)
chart.chart_data.chart_data_workbook.clear(0)
chart.chart_data.set_external_workbook(path + "externalWorkbook.xlsx")
chart.chart_data.set_range("Sheet1!$A$2:$B$5")
series = chart.chart_data.series[0]
series.parent_series_group.is_color_varied = True
pres.save("response2.pptx", slides.export.SaveFormat.PPTX)
تعيين دفتر عمل خارجي
باستخدام طريقة chartData.set_external_workbook
، يمكنك تعيين دفتر عمل خارجي كرسم بياني كمصدر بيانات له. يمكن أيضًا استخدام هذه الطريقة لتحديث المسار إلى دفتر العمل الخارجي (إذا تم نقل الأخير).
بينما لا يمكنك تعديل البيانات في دفاتر العمل المخزنة في مواقع أو موارد بعيدة، لا يزال بإمكانك استخدام مثل هذه الدفاتر كمصدر بيانات خارجي. إذا تم توفير المسار النسبي لدفتر العمل الخارجي، فسيتم تحويله تلقائيًا إلى مسار كامل.
يوضح هذا الكود بلغة بايثون كيفية تعيين دفتر عمل خارجي:
import aspose.slides.charts as charts
import aspose.slides as slides
# المسار إلى دليل الوثائق.
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.PIE, 50, 50, 400, 600, False)
chartData = chart.chart_data
chartData.set_external_workbook(path + "externalWorkbook.xlsx")
chartData.series.add(chartData.chart_data_workbook.get_cell(0, "B1"), charts.ChartType.PIE)
chartData.series[0].data_points.add_data_point_for_pie_series(chartData.chart_data_workbook.get_cell(0, "B2"))
chartData.series[0].data_points.add_data_point_for_pie_series(chartData.chart_data_workbook.get_cell(0, "B3"))
chartData.series[0].data_points.add_data_point_for_pie_series(chartData.chart_data_workbook.get_cell(0, "B4"))
chartData.categories.add(chartData.chart_data_workbook.get_cell(0, "A2"))
chartData.categories.add(chartData.chart_data_workbook.get_cell(0, "A3"))
chartData.categories.add(chartData.chart_data_workbook.get_cell(0, "A4"))
pres.save("Presentation_with_externalWorkbook.pptx", slides.export.SaveFormat.PPTX)
المعلمة chart_data
(تحت طريقة set_external_workbook
) تُستخدم لتحديد ما إذا كان سيتم تحميل دفتر العمل excel أم لا.
- عندما يتم تعيين قيمة
chart_data
إلىfalse
، يتم تحديث مسار دفتر العمل فقط—لن يتم تحميل بيانات الرسم البياني أو تحديثها من دفتر العمل المستهدف. قد ترغب في استخدام هذا الإعداد في حالة عدم وجود دفتر العمل المستهدف أو عدم توفره. - عندما يتم تعيين قيمة
chart_data
إلىtrue
، يتم تحديث بيانات الرسم البياني من دفتر العمل المستهدف.
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.PIE, 50, 50, 400, 600, False)
chartData = chart.chart_data
chartData.set_external_workbook("http://path/doesnt/exists", False)
pres.save("SetExternalWorkbookWithUpdateChartData.pptx", slides.export.SaveFormat.PPTX)
الحصول على مسار مصدر بيانات الرسم البياني الخارجي
- إنشاء مثيل من فئة Presentation .
- الحصول على مرجع الشريحة من خلال فهرسها.
- إنشاء كائن لشكل الرسم البياني.
- إنشاء كائن لنوع المصدر (
ChartDataSourceType
) الذي يمثل مصدر بيانات الرسم البياني. - تحديد الشرط المناسب بناءً على كون نوع المصدر هو نفسه نوع مصدر بيانات دفتر العمل الخارجي.
يوضح هذا الكود بلغة بايثون العملية:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation("response2.pptx") as pres:
chart = pres.slides[0].shapes[0]
sourceType = chart.chart_data.data_source_type
if sourceType == charts.ChartDataSourceType.EXTERNAL_WORKBOOK:
print(chart.chart_data.external_workbook_path)
تعديل بيانات الرسم البياني
يمكنك تعديل البيانات في دفاتر العمل الخارجية بنفس الطريقة التي تجري بها تغييرات على محتويات دفاتر العمل الداخلية. عند عدم إمكانية تحميل دفتر العمل الخارجي، يتم طرح استثناء.
هذا الكود بلغة بايثون هو تنفيذ للعملية الموصوفة:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation(path + "presentation.pptx") as pres:
pres.slides[0].shapes[0].chart_data.series[0].data_points[0].value.as_cell.value = 100
pres.save("presentation_out.pptx", slides.export.SaveFormat.PPTX)