
La visualisation des tâches sur une ligne du temps aide à mieux gérer les projets. Dans cet article, vous apprendrez comment créer un diagramme de Gantt dans Excel en utilisant Python avec Aspose.Cells for Python via .NET. Avec juste quelques lignes de code, vous pouvez transformer des données de tâches simples en une ligne du temps visuelle dynamique et propre, idéale pour des rapports, des tableaux de bord et des documents de planification. Passons en revue cela étape par étape.
Cet article couvre les sujets suivants :
- Bibliothèque Excel Python pour diagrammes de Gantt
- Gantt Chart Using Stacked Bar Charts
- Create a Gantt Chart in Excel using Python
- Personnaliser un diagramme de Gantt dans Excel en utilisant Python
- Explorer des ressources gratuites
Bibliothèque Python Excel pour les graphiques de Gantt
Aspose.Cells for Python via .NET est une bibliothèque puissante pour travailler avec des fichiers Excel en Python. Elle vous permet de créer, modifier et formater des feuilles de calcul par programme, y compris des graphiques tels que les graphiques de Gantt.
Caractéristiques principales :
- Contrôle total sur les graphiques et les données Excel.
- Support pour XLSX, XLS, CSV et PDF.
- Performances élevées avec de grands fichiers.
- Options de personnalisation du graphique riche.
Pour commencer, veuillez installer la bibliothèque avec :
pip install aspose-cells
Vous pouvez également le télécharger depuis les releases.
Diagrammes de Gantt avec des diagrammes en barres empilées
Excel ne fournit pas de type de diagramme de Gantt intégré, et Aspose.Cells non plus. Mais vous pouvez toujours en créer un en utilisant un diagramme à barres empilées avec un peu de mise en forme. C’est une technique courante, et Aspose.Cells la prend entièrement en charge par le biais de code.
Ce que vous pouvez faire avec Aspose.Cells
Vous pouvez facilement automatiser un diagramme de Gantt dans Excel en procédant comme suit :
- Entrez les données de la tâche (nom de la tâche, date de début et durée).
- Insérez un graphique à barres empilées.
- Utilisez une série pour le "décalage de départ" (invisible) et une autre pour la "durée" (visible).
- Formatez le tableau pour qu’il ressemble à un graphique de Gantt.
Ceci vous donne une chronologie au look professionnel que vous pouvez générer dynamiquement.
Sample Task Data
Voici un tableau d’exemple que nous allons utiliser :
Tâche | Date de début | Durée | Décalage de début |
---|---|---|---|
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
Suivez ces étapes pour créer un diagramme de Gantt dans Excel en utilisant Python avec Aspose.Cells for Python via .NET :
- Charger un fichier de données Excel existant en utilisant la classe
Workbook
. - Obtenez la première feuille de calcul avec
workbook.worksheets[0]
. - Ajouter un graphique à barres empilées pour ajouter une mise en page de graphique de Gantt.
- Ajoutez deux séries de données : une pour le décalage et une pour la durée.
- Définir les noms de tâche en tant qu’étiquettes de catégorie.
- Ajustez les styles et les paramètres des axes pour formater le graphique.
- Enregistrez le fichier en utilisant la méthode
workbook.save()
.
Voici un extrait de code Python qui effectue toutes ces étapes :
import aspose.cells as cells
from aspose.pydrawing import Color
# Charger le fichier Excel
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Ajouter un diagramme de Gantt
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# Ajouter décalage et durée comme série
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Définir les noms de tâches comme catégories
chart.n_series.category_data = "A2:A6"
# Rendre les barres de décalage invisibles
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Style duration bars
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
# Paramètres de l'axe
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
# Cacher la légende
chart.show_legend = False
# Redimensionner le graphique (optionnel)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
Cela générera un graphique de type Gantt propre avec vos données de tâches.

Create a Gantt Chart in Excel using Python
Personnaliser le diagramme de Gantt
Vous pouvez personnaliser votre diagramme de Gantt en utilisant les options suivantes :
Couleurs de barre
Définir une couleur solide pour les barres de durée :
chart.n_series[1].area.foreground_color = Color.steel_blue
Transparente Déplacements
Rendez les barres de décalage (invisibles) complètement transparentes.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Ordre de tâche
Inversez l’axe Y pour afficher les tâches de haut en bas :
chart.category_axis.is_plot_order_reversed = True
Étiquettes de données
Afficher la durée directement sur chaque barre des tâches :
chart.n_series[1].data_labels.show_value = True
Contrôle de la légende
Supprimez ou repositionnez la légende du graphique.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Définir des couleurs de barre personnalisées
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Redimensionner le graphique
chart.chart_object.width = 700
chart.chart_object.height = 400
Exporter en PDF ou en image
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Le code Python suivant applique certaines des personnalisations mentionnées ci-dessus :
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Initialiser le classeur et la feuille de calcul
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Date de début du projet
project_start = datetime.date(2025, 4, 1)
# Headers
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")
# Données de la tâche : [Nom de la tâche, Date de début, Durée]
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"]
]
# Remplissez les données dans la feuille
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
# Formules de date de décalage et de fin
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
# Ajuster automatiquement les colonnes
sheet.auto_fit_columns()
# Ajouter un diagramme de Gantt
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"
# Ajouter des séries de données : Décalage (invisible), Durée (visible)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Définir les noms des tâches comme étiquettes de catégorie
chart.n_series.category_data = "A2:A6"
# Rendre les barres de décalage invisibles
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Coloriez chaque barre de tâche différemment.
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)
# Afficher des étiquettes de données sur les barres de durée
duration_series.data_labels.show_value = True
# Configuration des axes
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
# Cacher la légende
chart.show_legend = False
# Redimensionner le graphique
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Personnaliser le diagramme de Gantt dans Excel en utilisant Python
Obtenez une licence gratuite
Vous pouvez request a free temporary license pour explorer les pleines capacités d’Aspose.Cells sans aucune limitation ni filigranes.
Ressources supplémentaires
Envie d’explorer davantage ? Les liens ci-dessous vous aideront à plonger plus profondément dans Aspose.Cells for Python via .NET. Que vous recherchiez des guides détaillés, des références API ou des outils gratuits, ces ressources vous couvrent.
Mots de la fin
Créer un diagramme de Gantt dans Excel avec Python est simple et efficace en utilisant Aspose.Cells for Python via .NET. Il vous donne un contrôle total sur la conception du graphique et l’automatisation Excel. Essayez-le avec vos données de projet et constatez la différence.
Si vous avez des questions, n’hésitez pas à nous contacter sur notre forum de support gratuit.