
Die Visualisierung von Projektzeitplänen ist wichtig für eine effektive Planung und Nachverfolgung. In diesem Blogbeitrag werden Sie lernen, wie man ein Gantt-Diagramm in Excel mit C# erstellt. Mit nur wenigen Codezeilen können Sie die Erstellung dynamischer, visuell ansprechender Gantt-Diagramme automatisieren. Egal, ob Sie ein Projektmanagement-Tool entwickeln oder an internen Berichten arbeiten, dieser Leitfaden zeigt Ihnen, wie Sie Projektdaten in einen klaren und professionellen Zeitplan umwandeln - vollständig anpassbar und bereit für den Export nach Excel, PDF oder Bildformaten. Lassen Sie uns anfangen!
Dieser Artikel behandelt die folgenden Themen:
- C# Excel-Bibliothek zum Erstellen von Gantt-Diagrammen
- Wie man ein Gantt-Diagramm mit gestapelten Balkendiagrammen erstellt
- Create a Gantt-Diagramm in Excel mit C#
- Passen Sie das Gantt-Diagramm in Excel mit C# an
- Kostenlose Ressourcen
C# Excel-Bibliothek zur Erstellung von Gantt-Diagrammen
Aspose.Cells for .NET ist eine leistungsstarke Excel-Bibliothek, die den Prozess der Erstellung von Gantt-Diagrammen in Excel vereinfacht. Sie bietet robuste Funktionen zum programmgesteuerten Manipulieren von Excel Dateien. Mit Aspose.Cells können Entwickler problemlos Diagramme und Grafiken erstellen, ändern und anpassen. Diese Bibliothek unterstützt verschiedene Excel-Formate und bietet erweiterte Funktionen, was sie zu einer idealen Wahl für Projektmanager und Entwickler macht.
Aspose.Cells for .NET zeichnet sich durch seine einfache Integration und Flexibilität aus. Hier sind einige wichtige Funktionen:
- Umfassende API: Greifen Sie auf eine Vielzahl von Excel funktionen zu.
- Erweiterte Anpassung: Passen Sie Diagramme und Grafiken an, um spezifische Anforderungen zu erfüllen.
- Hohe Leistung: Effizient mit großen Datensätzen umgehen, ohne die Geschwindigkeit zu beeinträchtigen.
- Unterstützung mehrerer Formate: Arbeiten Sie mit verschiedenen Excel-Formaten, einschließlich XLSX, XLS und CSV.
Befolgen Sie diese einfachen Schritte, um mit Aspose.Cells for .NET zu beginnen:
- Laden Sie die Bibliothek von den releases herunter.
- Installieren Sie es über den NuGet-Paket-Manager mit dem folgenden Befehl:
PM> Install-Package Aspose.Cells
Wie man ein Gantt-Diagramm mit gestapelten Balkendiagrammen erstellt
Aspose.Cells hat keinen integrierten Gantt-Diagrammtyp, da Excel selbst keinen nativen Gantt-Diagrammtyp anbietet. Gantt-Diagramme in Excel werden jedoch normalerweise mit gestapelten Balkendiagrammen erstellt, die mit benutzerdefinierter Formatierung kombiniert werden — und Aspose.Cells unterstützt diesen Ansatz programmgesteuert.
Was Sie mit Aspose.Cells tun können:
Sie können die Erstellung eines Gantt-Diagramms in Excel automatisieren, indem Sie
- Aufsetzen von Aufgabendaten (Aufgabenname, Startdatum, Dauer).
- Hinzufügen eines gestapelten Balkendiagramms.
- Verwenden Sie eine Serie für
Startoffset
(ausgeblendet) und eine andere fürDauer
(sichtbar). - Das Diagramm so formatieren, dass es einem Gantt-Diagramm ähnelt.
Beispielform von Gantt-Diagrammdaten
| 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-Diagramm in Excel mit C#
Befolgen Sie diese Schritte, um ein Gantt-Diagramm in Excel mit C# und Aspose.Cells for .NET zu erstellen:
- Laden Sie eine vorhandene Excel-Datei mit der
Workbook
Klasse. - Greifen Sie auf das erste Arbeitsblatt zu, indem Sie
workbook.Worksheets[0]
verwenden. - Fügen Sie ein Diagramm mit dem
ChartType.BarStacked
hinzu, um ein Gantt-Diagramm-Layout zu simulieren. - Fügen Sie Offset und Dauer als Reihen hinzu.
- Setzen Sie die Kategorienbezeichnungen mit der
CategoryData
-Eigenschaft. - Stile und Achseneinstellungen festlegen.
- Speichern Sie die Arbeitsmappe mit
workbook.Save()
.
Hier ist ein C#-Codeausschnitt, der die oben genannten Schritte implementiert:
using Aspose.Cells;
using Aspose.Cells.Charts;
// Laden Sie die Excel-Datei
Workbook workbook = new Workbook("sample-data.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Fügen Sie Gantt-Diagramm hinzu.
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 7, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Gantt Chart";
// Fügen Sie Offset und Dauer als Serie hinzu
chart.NSeries.Add("D2:D6", true); // Start Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Setze Aufgabenbezeichnungen als Kategorien
chart.NSeries.CategoryData = "A2:A6";
// Machen Sie die Versatzbalken unsichtbar
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Style-Dauerbalken
chart.NSeries[1].Area.Formatting = FormattingType.Custom;
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
// Achsen Einstellungen
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.CategoryAxis.Title.Text = "Tasks";
chart.ValueAxis.Title.Text = "Days from Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
// Legende ausblenden
chart.ShowLegend = false;
// Größe des Diagramms ändern (optional)
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#
Passen Sie das Gantt-Diagramm in Excel mit C# an.
Sie können Ihr Gantt-Diagramm mit den folgenden Anpassungsfunktionen in Aspose.Cells for .NET verbessern:
Bar Farben Setzen Sie eine einheitliche Farbe für die Dauerbalken:
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
Transparente Offsets Machen Sie die versetzten (unsichtbaren) Balken vollständig transparent.
chart.NSeries[0].Area.Formatting = FormattingType.None;
Task Order Die Y-Achse umkehren, um Aufgaben von oben nach unten anzuzeigen:
chart.CategoryAxis.IsPlotOrderReversed = true;
Datenbeschriftungen Zeige die Dauer direkt auf jeder Taskleiste an:
chart.NSeries[1].DataLabels.ShowValue = true;
Legend Control Entfernen oder repositionieren Sie die Diagrammlegende.
chart.ShowLegend = false; // Or reposition: chart.Legend.Position = LegendPositionType.Bottom;
Individuelle Balkenstilgestaltung Legen Sie benutzerdefinierte Farben für jede Aufgabe fest.
var series = chart.NSeries[1]; series.Points[0].Area.ForegroundColor = Color.Green; series.Points[1].Area.ForegroundColor = Color.Red;
Diagrammdimensionen Ändern Sie die Größe und positionieren Sie das Diagramm neu:
chart.ChartObject.Width = 700; chart.ChartObject.Height = 400;
Exportoptionen Speichern Sie das Diagramm als Excel, PDF oder Bild.
workbook.Save("GanttChart.xlsx"); workbook.Save("GanttChart.pdf", SaveFormat.Pdf); chart.ToImage("chart.png", ImageFormat.Png);
Hier ist ein C#-Codeausschnitt, der einige der oben gegebenen Anpassungen implementiert:
using Aspose.Cells;
using Aspose.Cells.Charts;
// Arbeitsmappe und Arbeitsblatt initialisieren
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "Gantt Data";
// Beispielaufgabendaten mit Daten
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: = Startdatum - Projektstartdatum
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";
// Add Series: Offset (unsichtbar), Dauer (sichtbar)
chart.NSeries.Add("D2:D6", true); // Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Set category labels
chart.NSeries.CategoryData = "A2:A6";
// Machen Sie die Offset-Serie transparent.
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Färbe jede Aufgabenleiste unterschiedlich.
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
}
// Datenbeschriftungen anzeigen
chart.NSeries[1].DataLabels.ShowValue = true;
// Achsen Einstellungen
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;
// Entfernen Sie die Legende
chart.ShowLegend = false;
// Diagramm skalieren
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Export nach Excel
workbook.Save("CustomizedGanttChart.xlsx", SaveFormat.Xlsx);

Passen Sie das Gantt-Diagramm in Excel mit C# an
Holen Sie sich eine kostenlose Lizenz
Interessiert an der Erkundung von Aspose-Produkten? Besuchen Sie die license page, um eine kostenlose temporäre Lizenz zu erhalten. Es ist einfach, loszulegen und das volle Potenzial von Aspose.Cells für Ihre Projekte freizuschalten!
Gantt-Diagramm Excel: Kostenlose Ressourcen
Hör hier nicht auf! Erkunde zusätzliche Ressourcen, um dein Verständnis von Aspose.Cells weiter zu vertiefen. Diese Ressourcen werden dir helfen, Excel-Automatisierung zu meistern und deine Fähigkeiten zu stärken.
Fazit
In diesem Blogbeitrag haben wir erkundet, wie man ein Gantt-Diagramm in Excel mit C# erstellt. Aspose.Cells for .NET vereinfacht diesen Prozess mit seinen leistungsstarken Funktionen und seiner Flexibilität. Wir ermutigen Sie, mehr über Aspose.Cells for .NET zu entdecken, um Ihre Projektmanagementfähigkeiten zu verbessern.
Wenn Sie Fragen haben oder weitere Unterstützung benötigen, zögern Sie bitte nicht, uns in unserem freien Support-Forum zu kontaktieren.