
La visualisation des délais de projet est importante pour une planification et un suivi efficaces. Dans cet article de blog, vous apprendrez comment créer un diagramme de Gantt dans Excel en utilisant C#. Avec juste quelques lignes de code, vous pouvez automatiser la génération de diagrammes de Gantt dynamiques et visuellement attrayants. Que vous construisiez un outil de gestion de projet ou travailliez sur des rapports internes, ce guide vous montrera comment transformer les données des tâches en un calendrier clair et professionnel—entièrement personnalisable et prêt à être exporté vers Excel, PDF ou des formats d’image. Commençons !
Cet article couvre les sujets suivants :
- Bibliothèque C# Excel pour créer des graphiques de Gantt
- Comment créer un diagramme de Gantt à l’aide de graphiques à barres empilées
- Create a Gantt Chart in Excel using C#
- Personnaliser un diagramme de Gantt dans Excel en utilisant C#
- Ressources Gratuites
Bibliothèque Excel C# pour créer des diagrammes de Gantt
Aspose.Cells for .NET est une bibliothèque Excel puissante qui simplifie le processus de création de diagrammes de Gantt dans Excel. Elle fournit des fonctionnalités robustes pour manipuler des fichiers Excel de manière programmatique. Avec Aspose.Cells, les développeurs peuvent facilement créer, modifier et personnaliser des graphiques et des diagrammes. Cette bibliothèque prend en charge divers formats Excel et offre des fonctionnalités avancées, ce qui en fait un choix idéal pour les chefs de projet et les développeurs.
Aspose.Cells for .NET se distingue par sa facilité d’intégration et sa flexibilité. Voici quelques fonctionnalités clés :
- API complet : Accédez à une large gamme de fonctionnalités Excel.
- Personnalisation avancée : Adaptez les graphiques et les diagrammes pour répondre à des besoins spécifiques.
- Haute performance : Gérez efficacement de grands ensembles de données sans compromettre la vitesse.
- Prise en charge de plusieurs formats : Travaillez avec divers formats Excel, y compris XLSX, XLS et CSV.
Suivez ces étapes simples pour commencer avec Aspose.Cells for .NET :
- Téléchargez la bibliothèque depuis les releases.
- Installez-le via NuGet Package Manager avec la commande suivante :
PM> Install-Package Aspose.Cells
Comment créer un diagramme de Gantt en utilisant des graphiques à barres empilées
Aspose.Cells n’a pas de type de diagramme de Gantt intégré car Excel lui-même n’offre pas non plus de type de diagramme de Gantt natif. Cependant, les diagrammes de Gantt dans Excel sont généralement créés en utilisant des graphiques à barres empilées combinés avec un formatage personnalisé — et Aspose.Cells prend en charge cette approche par programmation.
Ce que vous pouvez faire avec Aspose.Cells :
Vous pouvez automatiser la création d’un diagramme de Gantt dans Excel en
- Configuration des données de tâche (nom de la tâche, date de début, durée).
- Ajouter un histogramme empilé.
- Utiliser une série pour "décalage de départ" (caché) et une autre pour "durée" (visible).
- Mettre en forme le tableau pour qu`il ressemble à un diagramme de Gantt.
Données de graphique de Gantt d’exemple
| 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#
Suivez ces étapes pour créer un diagramme de Gantt dans Excel en utilisant C# avec Aspose.Cells for .NET :
- Charger un fichier Excel existant en utilisant la classe
Workbook
. - Accédez à la première feuille de calcul en utilisant
workbook.Worksheets[0]
. - Ajoutez un graphique en utilisant le
ChartType.BarStacked
pour simuler une mise en page de diagramme de Gantt. - Ajoutez le décalage et la durée en tant que séries.
- Définissez les étiquettes de catégorie en utilisant la propriété
CategoryData
. - Définir les styles et les paramètres de l’axe.
- Enregistrez le classeur en utilisant
workbook.Save()
.
Voici un extrait de code C# qui implémente les étapes ci-dessus :
using Aspose.Cells;
using Aspose.Cells.Charts;
// Charger le fichier Excel
Workbook workbook = new Workbook("sample-data.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Ajouter un diagramme de Gantt
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 7, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Gantt Chart";
// Ajouter un décalage et une durée en tant que série
chart.NSeries.Add("D2:D6", true); // Start Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Définir les noms des tâches en tant que catégories
chart.NSeries.CategoryData = "A2:A6";
// Rendre les barres de décalage invisibles
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Style des barres de durée
chart.NSeries[1].Area.Formatting = FormattingType.Custom;
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
// Paramètres d'axe
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.CategoryAxis.Title.Text = "Tasks";
chart.ValueAxis.Title.Text = "Days from Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
// Cacher la légende
chart.ShowLegend = false;
// Redimensionner le graphique (facultatif)
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#
Personnaliser un diagramme de Gantt dans Excel en utilisant C#
Vous pouvez améliorer votre diagramme de Gantt en utilisant les fonctionnalités de personnalisation suivantes dans Aspose.Cells for .NET :
Couleurs de barre Définir une couleur unie pour les barres de durée :
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
Offsets transparents Rendez les barres de décalage (invisibles) complètement transparentes.
chart.NSeries[0].Area.Formatting = FormattingType.None;
Ordre de tâche Inversez l’axe Y pour afficher les tâches de haut en bas :
chart.CategoryAxis.IsPlotOrderReversed = true;
Étiquettes de données Afficher la durée directement sur chaque barre des tâches :
chart.NSeries[1].DataLabels.ShowValue = true;
Légende de contrôle Supprimez ou repositionnez la légende du graphique.
chart.ShowLegend = false; // Or reposition: chart.Legend.Position = LegendPositionType.Bottom;
Style de barre individuel Définir des couleurs personnalisées pour chaque tâche.
var series = chart.NSeries[1]; series.Points[0].Area.ForegroundColor = Color.Green; series.Points[1].Area.ForegroundColor = Color.Red;
Dimensions du graphique Redimensionner et repositionner le graphique :
chart.ChartObject.Width = 700; chart.ChartObject.Height = 400;
Options d’exportation Enregistrez le graphique au format Excel, PDF ou image.
workbook.Save("GanttChart.xlsx"); workbook.Save("GanttChart.pdf", SaveFormat.Pdf); chart.ToImage("chart.png", ImageFormat.Png);
Voici un extrait de code C# qui implémente quelques-unes des personnalisations mentionnées ci-dessus :
using Aspose.Cells;
using Aspose.Cells.Charts;
// Initialiser le classeur et la feuille de calcul
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);
// En-têtes
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: = DateDébut - DateDébutProjet
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";
// Ajouter Série : Décalage (invisible), Durée (visible)
chart.NSeries.Add("D2:D6", true); // Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Définir des étiquettes de catégorie
chart.NSeries.CategoryData = "A2:A6";
// Rendre la série Offset transparente
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Coloriez chaque barre de tâche différemment.
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
}
// Afficher les étiquettes de données
chart.NSeries[1].DataLabels.ShowValue = true;
// Paramètres de l'axe
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;
// Retirer la légende
chart.ShowLegend = false;
// Redimensionner le graphique
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Exporter vers Excel
workbook.Save("CustomizedGanttChart.xlsx", SaveFormat.Xlsx);

Personnaliser le diagramme de Gantt dans Excel en utilisant C#
Obtenez une licence gratuite
Intéressé par l’exploration des produits Aspose ? Visitez la license page pour obtenir une licence temporaire gratuite. C`est facile de commencer et de débloquer tout le potentiel d’Aspose.Cells pour vos projets !
Gantt Chart Excel : Ressources Gratuites
Ne vous arrêtez pas ici ! Explorez des ressources supplémentaires pour améliorer votre compréhension d’Aspose.Cells. Ces ressources vous aideront à maîtriser l’automatisation Excel et à renforcer vos compétences.
Conclusion
Dans cet article de blog, nous avons exploré comment créer un diagramme de Gantt dans Excel en utilisant C#. Aspose.Cells for .NET simplifie ce processus grâce à ses fonctionnalités puissantes et sa flexibilité. Nous vous encourageons à explorer davantage Aspose.Cells for .NET afin d’améliorer vos capacités en gestion de projet.
Si vous avez des questions ou avez besoin d’une assistance supplémentaire, n’hésitez pas à nous contacter sur notre forum de support gratuit.