
يساعد تصور المهام على جدول زمني في إدارة المشاريع بشكل أفضل. في هذه المقالة، ستتعلم كيف تنشئ مخطط جانت في Excel باستخدام Python مع Aspose.Cells for Python عبر .NET. مع بضع سطور فقط من الكود، يمكنك تحويل بيانات المهام البسيطة إلى جدول زمني بصري ديناميكي ونظيف، مثالي للتقارير، ولوحات المعلومات، ومستندات التخطيط. دعنا نتناول ذلك خطوة بخطوة.
تغطي هذه المقالة المواضيع التالية:
- مكتبة پایتھن إكسل لمخططات جانت
- مخطط جانت باستخدام مخططات الشريط المتراص
- قم بإنشاء مخطط جانت في إكسل باستخدام پایتھن
- خصص مخطط غانت في إكسيل باستخدام پایتھن
- استكشف الموارد المجانية
مكتبة بايثون إكسل لرسوم غانت
Aspose.Cells for Python via .NET هي مكتبة قوية للعمل مع ملفات Excel في بايثون. تتيح لك إنشاء وتعديل وتنسيق جداول البيانات برمجياً—بما في ذلك المخططات مثل مخططات جانت.
الميزات الرئيسية:
- تحكم كامل في الرسوم البيانية والبيانات في Excel.
- الدعم لـ XLSX و XLS و CSV و PDF.
- أداء عالي مع ملفات كبيرة.
- خيارات تخصيص المخططات الغنية.
للبدء، يرجى تثبيت المكتبة باستخدام:
pip install aspose-cells
يمكنك أيضًا تنزيله من الإصدارات.
مخططات جانت مع مخططات الأعمدة المكدسة
لا يوفر Excel نوع مخطط Gantt مدمج، ولا توفره Aspose.Cells أيضاً. لكن يمكنك إنشاء واحدة باستخدام مخطط شريطي تراكمي مع القليل من التنسيق. هذه تقنية شائعة، وتدعم Aspose.Cells ذلك تماماً من خلال الشيفرة.
ما يمكنك القيام به مع Aspose.Cells
يمكنك بسهولة أتمتة مخطط جانت في إكسل من خلال القيام بما يلي:
- أدخل بيانات المهمة (اسم المهمة، تاريخ البدء، والمدة).
- أدخل مخطط عمودي م stacked.
- استخدم سلسلة واحدة لـ “بدء الإزاحة” (غير مرئية) وسلسلة أخرى لـ “المدة” (مرئية).
- قم بتنسيق الجدول ليبدو كجدول جانت.
هذا يمنحك خطًا زمنيًا ذو مظهر احترافي يمكنك إنشاؤه ديناميكيًا.
Sample Task Data
إليك جدول عينة سنستخدمه:
المهمة | تاريخ البدء | المدة | تعويض البدء |
---|---|---|---|
Task 1 | 2025-04-01 | 3 | 0 |
Task 2 | 2025-04-03 | 6 | 2 |
Task 3 | 2025-04-08 | 10 | 7 |
Task 4 | 2025-04-18 | 3 | 17 |
Task 5 | 2025-04-21 | 5 | 20 |
Create a Gantt Chart in Excel using Python
اتبع هذه الخطوات لإنشاء مخطط جانت في Excel باستخدام Python مع Aspose.Cells for Python عبر .NET:
- قم بتحميل ملف بيانات Excel موجود باستخدام فئة
Workbook
. - احصل على ورقة العمل الأولى باستخدام
workbook.worksheets[0]
. - إضافة رسم بياني مكدس لإضافة تخطيط مخطط جانت.
- أضف سلسلتين بيانات: واحدة للإنزياح وواحدة للمدة.
- قم بتعيين أسماء المهام كعلامات فئة.
- قم بضبط الأنماط وإعدادات المحاور لتنسيق الرسم البياني.
- احفظ الملف باستخدام طريقة
workbook.save()
.
إليك جزء من كود بايثون الذي ينفذ جميع هذه الخطوات:
import aspose.cells as cells
from aspose.pydrawing import Color
# قم بتحميل ملف Excel
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# أضف مخطط جانت
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# أضف الإزاحة والمدة كسلسلة
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# اجعل أسماء المهام كفئات
chart.n_series.category_data = "A2:A6"
# اجعل القضبان المائلة غير مرئية
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# تصميم أشرطة المدة
chart.n_series[1].area.formatting = cells.charts.FormattingType.CUSTOM
chart.n_series[1].area.foreground_color = Color.steel_blue
chart.n_series[1].data_labels.show_value = True
# إعدادات المحور
chart.category_axis.is_plot_order_reversed = True
chart.category_axis.title.text = "Tasks"
chart.value_axis.title.text = "Days from Start"
chart.value_axis.major_grid_lines.is_visible = True
# إخفاء الوسيلة
chart.show_legend = False
# تغيير حجم الرسم البياني (اختياري)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
سيتم إنشاء مخطط شريطي بنمط جانت نظيف مع بيانات المهام الخاصة بك.

إنشاء مخطط جانت في إكسل باستخدام بايثون
خصص مخطط جانت
يمكنك تخصيص مخطط جانت الخاص بك باستخدام الخيارات المتاحة التالية:
ألوان الشريط
عين لونًا ثابتًا لشريط المدة:
chart.n_series[1].area.foreground_color = Color.steel_blue
شفافية الإزاحات
اجعل الأعمدة (غير المرئية) الشفافة بالكامل.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
أمر المهمة
عكس محور Y لعرض المهام من الأعلى إلى الأسفل:
chart.category_axis.is_plot_order_reversed = True
ملصقات البيانات
عرض المدة مباشرة على شريط المهام لكل مهمة:
chart.n_series[1].data_labels.show_value = True
تحكم الأسطورة
إزالة أو إعادة موضع وسيلة إيضاح الرسم البياني.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
تعيين ألوان الشريط المخصصة
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
إعادة تصميم المخطط
chart.chart_object.width = 700
chart.chart_object.height = 400
تصدير إلى PDF أو صورة
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
الشفرة البرمجية التالية بلغة بايثون تطبق بعض التخصيصات المذكورة أعلاه:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# تهيئة دفتر العمل وورقة العمل
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# تاريخ بدء المشروع
project_start = datetime.date(2025, 4, 1)
# رؤوس الصفحات
sheet.cells.get("A1").put_value("Task")
sheet.cells.get("B1").put_value("Start Date")
sheet.cells.get("C1").put_value("Duration (Days)")
sheet.cells.get("D1").put_value("Start Offset")
sheet.cells.get("E1").put_value("End Date")
# معلومات المهمة: [اسم المهمة، تاريخ البدء، المدة]
tasks = [
["Task 1", "2025-04-01", "3"],
["Task 2", "2025-04-03", "6"],
["Task 3", "2025-04-08", "10"],
["Task 4", "2025-04-18", "3"],
["Task 5", "2025-04-21", "5"]
]
# املأ البيانات في الورقة
for i, task in enumerate(tasks):
row = i + 2 # Start from row 2
sheet.cells.get(row, 0).put_value(task[0]) # Task Name
sheet.cells.get(row, 1).put_value(datetime.datetime.strptime(task[1], "%Y-%m-%d").date()) # Start Date
sheet.cells.get(row, 2).put_value(int(task[2])) # Duration
# صيغ تاريخ الإزاحة والانتهاء
sheet.cells.get(row, 3).formula = f"=B{row + 1} - DATE(2025,4,1)" # Offset
sheet.cells.get(row, 4).formula = f"=B{row + 1} + C{row + 1}" # End Date
# تعديل عرض الأعمدة تلقائيًا
sheet.auto_fit_columns()
# أضف مخطط جانت
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 10, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Project Gantt Chart"
# أضف سلسلة البيانات: الإزاحة (غير مرئية)، المدة (مرئية)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# قم بتعيين أسماء المهام كعناوين للفئات
chart.n_series.category_data = "A2:A6"
# اجعل شريط الإزاحة غير مرئي
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# قم بتلوين كل شريط مهام بشكل مختلف
duration_series = chart.n_series[1]
for i in range(duration_series.points.count):
red = 100 + i * 30
duration_series.points[i].area.foreground_color = Color.from_argb(255, red, 150)
# عرض تسميات البيانات على أشرطة المدة
duration_series.data_labels.show_value = True
# تكوين المحور
chart.category_axis.title.text = "Tasks"
chart.category_axis.is_plot_order_reversed = True
chart.value_axis.title.text = "Days from Project Start"
chart.value_axis.major_grid_lines.is_visible = True
chart.value_axis.min_value = 0
chart.value_axis.major_unit = 5.0
# إخفاء الأسطورة
chart.show_legend = False
# إعادة حجم الرسم البياني
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

تخصيص مخطط جانت في إكسل باستخدام بايثون
احصل على ترخيص مجاني
يمكنك طلب ترخيص مؤقت مجاني لاستكشاف الإمكانيات الكاملة لـ Aspose.Cells دون أي قيود أو علامات مائية.
موارد إضافية
هل تريد استكشاف المزيد؟ الروابط أدناه ستساعدك على الغوص أعمق في Aspose.Cells for Python عبر .NET. سواء كنت تبحث عن أدلة مفصلة، مراجع API، أو أدوات مجانية، فهذه الموارد لديها ما تقدمه لك.
الكلمات الأخيرة
إنشاء مخطط جانت في Excel باستخدام Python هو أمر بسيط وفعال باستخدام Aspose.Cells for Python عبر .NET. يمنحك السيطرة الكاملة على تصميم المخطط وأتمتة Excel. جرب ذلك مع بيانات مشروعك وراقب الفرق.
إذا واجهت أي أسئلة، فلا تتردد في التواصل معنا في منتدى الدعم المجاني.