Create Gantt Chart in Excel using C#

ויזואליזציה של זמני הפרויקטים היא חשובה לתכנון יעיל ומעקב. בפוסט בלוג הזה, אתה תלמד איך ליצור תרשים גנט ב-Excel באמצעות C#. עם כמה שורות קוד, אתה יכול לאוטומט את יצירת התרשימים הדינמיים והאסתטיים של גנט. בין אם אתה בונה כלי ניהול פרויקטים או עובד על דיווח פנימי, מדריך זה יראה לך איך להפוך נתוני משימות לכדי ציר זמן ברור ומקצועי—בהתאמה אישית מלאה ומוכן ליצוא ל-Excel, PDF, או פורמטי תמונה. בוא נתחיל!

המאמר הזה מכסה את הנושאים הבאים:

C# ספריית Excel ליצירת תרשימי גנט

Aspose.Cells for .NET היא ספריית Excel עוצמתית הפושטת את תהליך יצירת תרשימים מסוג גנט ב-Excel. היא מספקת תכונות חזקות למניפולציה של קבצי Excel בתכנות. עם Aspose.Cells, מפתחים יכולים בקלות ליצור, לשנות ולהתאים אישית תרשימים וגרפים. ספרייה זו תומכת בפורמטים שונים של Excel ומציעה פונקציות מתקדמות, מה שהופך אותה לבחירה אידיאלית עבור מנהלי פרויקטים ומפתחים כאחד.

Aspose.Cells for .NET בולט בזכות קלות השילוב והגמישות שלו. הנה כמה תכונות מרכזיות:

  • API מקיף: גישה למגוון רחב של פונקציות Excel.
  • התאמה מתקדמת: התאמה של תרשימים וגרפים לצרכים ספציפיים.
  • ביצועים גבוהים: נהל בצורה יעילה מערכות נתונים גדולות מבלי להתפשר על מהירות.
  • תמיכה במספר פורמטים: עבודה עם פורמטים שונים של Excel, כולל XLSX, XLS ו- CSV.

עקוב אחר הצעדים הפשוטים הללו כדי להתחיל עם Aspose.Cells עבור .NET:

  1. הורד את הספרייה מה releases .
  2. התקן אותו דרך מנהל חבילות NuGet עם הפקודה הבאה:
    PM> Install-Package Aspose.Cells
    

איך לבנות תרשים גנט באמצעות תרשימים מצטברים של ברים

Aspose.Cells אין סיווג גנט מובנה מכיוון ש-Excel עצמו גם לא מציע סוג גנט ילידי. עם זאת, תרשימי גנט ב-Excel בדרך כלל נוצרו באמצעות תרשימי עמודות מותאמות אישית בשילוב עם פורמט מותאם - ו-Aspose.Cells תומך בגישה זו בצורה תוכנתית.

מה אתה יכול לעשות עם Aspose.Cells:

אתה יכול לשכלל את יצירת תרשים גנט ב-Excel על ידי

  • הגדרת נתוני משימה (שם משימה, תאריך התחלה, משך זמן).
  • הוספת תרשים עמודות מצטברות.
  • בעזרת סדרה אחת עבור “start offset” (המוסתר) וסדרה נוספת עבור “duration” (הגלוי).
  • עיצוב הגרף כך שידמה לגרף גנט.

דאטה לדיאגרמת גנט דוגמה


| 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           |

Create a Gantt Chart in Excel using C#

עקוב אחרי הצעדים הללו כדי ליצור תרשים גנט ב-Excel באמצעות C# עם Aspose.Cells עבור .NET:

  1. טען קובץ Excel קיים utilizando la clase Workbook.
  2. גשת לגיליון הראשון באמצעות workbook.Worksheets[0].
  3. הוסף תרשים באמצעות ChartType.BarStacked כדי לדמות פריסת תרשים גנט.
  4. הוסף הטבה ומשך כ series.
  5. קבע תוויות קטגוריה בעזרת מאפיין CategoryData.
  6. Set styles and Axis settiings.
  7. שמור את הגיליון באמצעות 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;

// Styled duration bars
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#

Create a Gantt Chart in Excel using C#

Customize Gantt Chart in Excel using C#

תוכל לשדרג את תרשים הגאנט שלך באמצעות תכונות ההתאמה האישית הבאות ב-Aspose.Cells עבור .NET:

  • Bar Colors בחר צבע אחיד עבור הסרגלים של משך הזמן:

    chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
    
  • מרווחים שקופים Make the offset (invisible) bars fully transparent.

    chart.NSeries[0].Area.Formatting = FormattingType.None;
    
  • Task Order הפוך את ציר Y כדי להראות משימות מלמעלה למטה:

    chart.CategoryAxis.IsPlotOrderReversed = true;
    
  • נתוני תוויות הצג משך זמן ישירות על כל סרגל כלים:

    chart.NSeries[1].DataLabels.ShowValue = true;
    
  • Legend Control הסר או שנה את מיקום האגדה של הגרף.

    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);

// Headers
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();

// Add a chart
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
}

// Show data labels
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);
התאמת תרשים גנט ב-Excel באמצעות C#

התאמת תרשים גantt ב-Excel באמצעות C#

קבל רישיון חינם

מעוניינים לחקור את מוצרי Aspose? בקרו בדף ה license page כדי לקבל רישיון זמני חינם. קל להתחיל ולשחרר את כל הפוטנציאל של Aspose.Cells עבור הפרויקטים שלכם!

גנט צ’רט אקסל: משאבים חינמיים

אל תפסיק כאן! גלה משאבים נוספים כדי לשפר עוד יותר את ההבנה שלך של Aspose.Cells. משאבים אלה יעזרו לך לשלוט באוטומציה של Excel ולחזק את הכישורים שלך.

מסקנה

בפוסט זה בבלוג, חקרנו כיצד ליצור תרשים גנט ב- Excel באמצעות C#. Aspose.Cells עבור .NET מפשט את התהליך הזה עם התכונות החזקות והגמישות שלו. אנחנו מעודדים אותך לחקור יותר על Aspose.Cells עבור .NET כדי לשפר את יכולות ניהול הפרויקטים שלך.

אם יש לך שאלות נוספות או צורך בעזרה נוספת, אנא אל תהסס לפנות אלינו בפורום התמיכה free support forum.

ראה גם