
تخيل الجداول الزمنية للمشروعات أمر مهم للتخطيط الفعال والمتابعة. في هذه التدوينة، ستتعلم كيف تنشئ مخطط جانت في Excel باستخدام C#. مع القليل من أسطر الأكواد، يمكنك أتمتة إنشاء مخططات جانت ديناميكية وجذابة بصريًا. سواء كنت تبني أداة لإدارة المشروعات أو تعمل على التقارير الداخلية، سترشدك هذه الدليل إلى كيفية تحويل بيانات المهام إلى جدول زمني واضح ومهني—قابل للتخصيص بالكامل وجاهز للتصدير إلى Excel أو PDF أو تنسيقات الصور. دعنا نبدأ!
يفCover هذا المقال المواضيع التالية:
- C# مكتبة إكسل لإنشاء مخططات جانت
- كيف تصنع مخطط جانت باستخدام مخططات الأعمدة المكدسة
- Create a Gantt Chart in Excel using C#
- تخصيص مخطط جانت في إكسل باستخدام C#
- موارد مجانية
مكتبة C# Excel لإنشاء مخططات جانت
أسبوس.سيلز ل .NET هو مكتبة إكسل قوية تبسط عملية إنشاء مخططات غانت في إكسل. إنها توفر ميزات قوية للتلاعب بملفات إكسل برمجيًا. مع أسبوس.سيلز، يمكن للمطورين بسهولة إنشاء وتعديل وتخصيص المخططات والرسوم البيانية. تدعم هذه المكتبة تنسيقات إكسل المختلفة وتقدم وظائف متقدمة، مما يجعلها خيارًا مثاليًا لمديري المشاريع والمطورين على حد سواء.
أسبوس.Cells لـ .NET تتميز بسهولتها في التكامل ومرونتها. إليك بعض الميزات الرئيسية:
- واجهة برمجة التطبيقات الشاملة: الوصول إلى مجموعة واسعة من وظائف إكسل.
- تخصيص متقدم: تخصيص الرسوم البيانية والمخططات لتلبية الاحتياجات المحددة.
- أداء عالٍ: معالجة مجموعات البيانات الكبيرة بكفاءة دون التأثير على السرعة.
- دعم تنسيقات متعددة: العمل مع تنسيقات Excel المختلفة، بما في ذلك XLSX و XLS و CSV.
اتبع هذه الخطوات البسيطة للبدء مع Aspose.Cells for .NET:
- قم بتنزيل المكتبة من releases.
- قم بتثبيته عبر مدير حزم NuGet باستخدام الأمر التالي:
PM> Install-Package Aspose.Cells
كيفية إنشاء مخطط جانت باستخدام مخططات الأعمدة المكدسة
Aspose.Cells لا يحتوي على نوع مخطط جانت مدمج لأن Excel نفسه لا يقدم نوع مخطط جانت أصلي أيضًا. ومع ذلك، يتم عادةً إنشاء مخططات جانت في Excel باستخدام مخططات الشريط المكدس مع تنسيق مخصص، وAspose.Cells يدعم هذا النهج برمجيًا.
ما يمكنك فعله مع Aspose.Cells:
يمكنك أتمتة إنشاء مخطط جانت في إكسل عن طريق
- إعداد بيانات المهمة (اسم المهمة، تاريخ البدء، المدة).
- إضافة مخطط عمودي مكدس.
- استخدام سلسلة واحدة لـ “الإزاحة الابتدائية” (مخفية) وسلسلة أخرى لـ “المدة” (مرئية).
- تنسيق المخطط ليبدو مثل مخطط جانت.
بيانات نموذج مخطط غانت
| Task | Start Date | Duration | Start Offset |
|--------|-------------|----------|--------------|
| 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 |
إنشاء مخطط جانت في Excel باستخدام C#
اتبع هذه الخطوات لإنشاء مخطط غانت في Excel باستخدام C# مع Aspose.Cells for .NET:
- قم بتحميل ملف Excel موجود باستخدام فئة
Workbook
. - قم بالوصول إلى ورقة العمل الأولى باستخدام
workbook.Worksheets[0]
. - أضف مخططًا باستخدام
ChartType.BarStacked
لمحاكاة تخطيط مخطط غانت. - أضف الإزاحة والمدة كسلسلة.
- قم بتعيين تسميات الفئات باستخدام خاصية
CategoryData
. - Set styles and Axis settiings.
- احفظ دفتر العمل باستخدام
workbook.Save()
.
هذا مقطع كود C# الذي ينفذ الخطوات المذكورة أعلاه:
using Aspose.Cells;
using Aspose.Cells.Charts;
// قم بتحميل ملف Excel
Workbook workbook = new Workbook("sample-data.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// أضف مخطط جانت
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 7, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Gantt Chart";
// أضف الإزاحة والمدة كسلسلة
chart.NSeries.Add("D2:D6", true); // Start Offset
chart.NSeries.Add("C2:C6", true); // Duration
// قم بتعيين أسماء المهام كفئات
chart.NSeries.CategoryData = "A2:A6";
// اجعل الأشرطة المترجمة غير مرئية
chart.NSeries[0].Area.Formatting = FormattingType.None;
// تغيير نمط أشرطة المدة
chart.NSeries[1].Area.Formatting = FormattingType.Custom;
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
// إعدادات المحور
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.CategoryAxis.Title.Text = "Tasks";
chart.ValueAxis.Title.Text = "Days from Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
// اخفِ الأسطورة
chart.ShowLegend = false;
// تغيير حجم الرسم البياني (اختياري)
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Save the result
workbook.Save("GanttChartResult.xlsx", SaveFormat.Xlsx);

Create a Gantt Chart in Excel using C#
تخصيص مخطط جانت في إكسل باستخدام C#
يمكنك تحسين مخطط جانت الخاص بك باستخدام ميزات التخصيص التالية في Aspose.Cells for .NET:
ألوان الشريط حدد لونًا ثابتًا لشرائح المدة:
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
الإزاحات الشفافة اجعل القضبان (غير المرئية) للانزياح شفافة تمامًا.
chart.NSeries[0].Area.Formatting = FormattingType.None;
أمر المهمة عكس محور Y لعرض المهام من الأعلى إلى الأسفل:
chart.CategoryAxis.IsPlotOrderReversed = true;
ملصقات البيانات عرض المدة مباشرة على شريط المهام لكل مهمة:
chart.NSeries[1].DataLabels.ShowValue = true;
تحكم الأسطورة قم بإزالة أو إعادة موضعة وسيلة إيضاح الرسم البياني.
chart.ShowLegend = false; // Or reposition: chart.Legend.Position = LegendPositionType.Bottom;
تنسيق الشريط الفردي قم بتعيين ألوان مخصصة لكل مهمة.
var series = chart.NSeries[1]; series.Points[0].Area.ForegroundColor = Color.Green; series.Points[1].Area.ForegroundColor = Color.Red;
أبعاد الرسم البياني إعادة تغيير حجم ورسم موقع المخطط:
chart.ChartObject.Width = 700; chart.ChartObject.Height = 400;
خيارات التصدير احفظ المخطط في Excel أو PDF أو صورة.
workbook.Save("GanttChart.xlsx"); workbook.Save("GanttChart.pdf", SaveFormat.Pdf); chart.ToImage("chart.png", ImageFormat.Png);
إليك مقتطف كود C# الذي ينفذ بعض التخصيصات المذكورة أعلاه:
using Aspose.Cells;
using Aspose.Cells.Charts;
// تهيئة دفتر العمل وورقة العمل
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "Gantt Data";
// Sample Task Data with Dates
DateTime projectStart = new DateTime(2025, 4, 1);
// رؤوس الأقلام
sheet.Cells["A1"].PutValue("Task");
sheet.Cells["B1"].PutValue("Start Date");
sheet.Cells["C1"].PutValue("Duration (Days)");
sheet.Cells["D1"].PutValue("Start Offset");
sheet.Cells["E1"].PutValue("End Date");
// Data
string[,] 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 (int i = 0; i < tasks.GetLength(0); i++)
{
int row = i + 1 + 1; // Start from row 2
sheet.Cells[row, 0].PutValue(tasks[i, 0]); // Task Name
sheet.Cells[row, 1].PutValue(DateTime.Parse(tasks[i, 1])); // Start Date
sheet.Cells[row, 2].PutValue(int.Parse(tasks[i, 2])); // Duration
// Offset: = StartDate - ProjectStartDate
sheet.Cells[row, 3].Formula = $"=B{row + 1} - DATE(2025,4,1)";
sheet.Cells[row, 4].Formula = $"=B{row + 1} + C{row + 1}";
}
// Autofit
sheet.AutoFitColumns();
// أضف مخططًا
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 10, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Project Gantt Chart";
// إضافة سلسلة: الإزاحة (غير مرئية)، المدة (مرئية)
chart.NSeries.Add("D2:D6", true); // Offset
chart.NSeries.Add("C2:C6", true); // Duration
// تعيين تسميات الفئات
chart.NSeries.CategoryData = "A2:A6";
// اجعل سلسلة Offset شفافة
chart.NSeries[0].Area.Formatting = FormattingType.None;
// لون كل شريط مهمة بشكل مختلف
Series durationSeries = chart.NSeries[1];
for (int i = 0; i < durationSeries.Points.Count; i++)
{
durationSeries.Points[i].Area.ForegroundColor = Color.FromArgb(255, 100 + i * 30, 150); // Gradient color variation
}
// عرض تسميات البيانات
chart.NSeries[1].DataLabels.ShowValue = true;
// إعدادات المحور
chart.CategoryAxis.Title.Text = "Tasks";
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.ValueAxis.Title.Text = "Days from Project Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
chart.ValueAxis.MinValue = 0;
chart.ValueAxis.MajorUnit = 5;
// إزالة الأسطورة
chart.ShowLegend = false;
// إعادة حجم الرسم البياني
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// تصدير إلى Excel
workbook.Save("CustomizedGanttChart.xlsx", SaveFormat.Xlsx);

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