
Візуалізація завдань на часовій шкалі допомагає краще управляти проектами. У цій статті ви дізнаєтеся, як створити діаграму Ганта в Excel, використовуючи Python з Aspose.Cells for Python через .NET. З всього лише кількома рядками коду ви можете перетворити прості дані про завдання в динамічну та чисту візуальну часову шкалу, ідеальну для звітів, панелей управління та планувальних документів. Давайте пройдемо через це крок за кроком.
Ця стаття охоплює такі теми:
- Python Excel бібліотека для діаграм Ганта
- Діаграма Ганта за допомогою зворотних стовпчикових діаграм
- Create a Gantt Chart in Excel using Python
- Налаштувати діаграму Ґанта в Excel за допомогою Python
- Досліджуйте безкоштовні ресурси
Python Excel Library for Gantt Charts
Aspose.Cells for Python via .NET є потужною бібліотекою для роботи з Excel файлами в Python. Вона дозволяє вам створювати, модифікувати та форматувати електронні таблиці програмним шляхом, включаючи графіки, такі як графіки Ганта.
Ключові особливості:
- Повний контроль над графіками та даними Excel.
- Підтримка для XLSX, XLS, CSV та PDF.
- Висока продуктивність з великими файлами.
- Багаті можливості налаштування діаграм.
Щоб почати, будь ласка, встановіть бібліотеку за допомогою:
pip install aspose-cells
Ви також можете завантажити його з releases.
Графіки Ганта зі стеками гістограм
Excel не надає вбудованого типу діаграми Ганта, і Aspose.Cells також не надає. Але ви все ще можете створити його, використовуючи стекову діаграму з деяким форматуванням. Це популярна техніка, і Aspose.Cells повністю підтримує її через код.
Що ви можете зробити з Aspose.Cells
Ви можете легко автоматизувати діаграму Ганта в Excel, виконавши наступне:
- Введіть дані завдання (назва завдання, дата початку та тривалість).
- Вставте стовпчасту діаграму.
- Використовуйте одну серію для
початкового зсуву
(невидимий) і іншу длятривалості
(видимий). - Отформатуйте діаграму, щоб вона виглядала як діаграма Ганта.
Це надає вам професійно виглядаючу часову шкалу, яку ви можете генерувати динамічно.
Sample Task Data
Ось зразок таблиці, яку ми будемо використовувати:
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 Python
Слідуйте цим крокам, щоб створити діаграму Ганта в Excel за допомогою Python з Aspose.Cells for Python через .NET:
- Завантажте існуючий файл даних Excel за допомогою класу
Workbook
. - Отримайте перший аркуш за допомогою
workbook.worksheets[0]
. - Додайте стовпчасту діаграму, щоб додати макет діаграми Ганта.
- Додайте дві серії даних: одну для зміщення і одну для тривалості.
- Встановіть назви завдань як категорійні мітки.
- Отрегулюйте стилі та налаштування осей для форматування діаграми.
- Збережіть файл за допомогою методу
workbook.save()
.
Ось фрагмент коду на Python, який виконує всі ці кроки:
import aspose.cells as cells
from aspose.pydrawing import Color
# Завантажте файл Excel
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Додати діаграму Ганта
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# Додати зсув і тривалість як серію
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Встановіть імена завдань як категорії
chart.n_series.category_data = "A2:A6"
# Приховати бокові смуги
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Стилізуйте тривалість смуг
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
# Налаштування осей
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
# Сховати легенду
chart.show_legend = False
# Змінити розмір діаграми (додатково)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
Це створить чисту діаграму Ганта зі вашими даними задач.

Create a Gantt Chart in Excel using Python
Налаштуйте діаграму Ганта
Ви можете налаштувати свою діаграму Ганта, використовуючи наступні доступні параметри:
Bar Colors
Встановіть однорідний колір для смуг тривалості:
chart.n_series[1].area.foreground_color = Color.steel_blue
Прозорі зміщення
Зробіть непрозорі (невидимі) смуги повністю прозорими.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Task Order
Відобразіть вісь Y у зворотному порядку, щоб показати завдання зверху вниз:
chart.category_axis.is_plot_order_reversed = True
Мітки даних
Показати тривалість безпосередньо на кожній панелі завдань:
chart.n_series[1].data_labels.show_value = True
Legend Control
Видаліть або перемістіть легенду діаграми.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Налаштуйте кольори індикаторів користувача
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Змініть розмір діаграми
chart.chart_object.width = 700
chart.chart_object.height = 400
Експорт в PDF або зображення
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Наступний фрагмент коду Python застосовує деякі з вказаних вище налаштувань:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Ініціалізуйте книгу та аркуш.
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Дата початку проекту
project_start = datetime.date(2025, 4, 1)
# Заголовки
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")
# Дані завдання: [Назва завдання, Дата початку, Тривалість]
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 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
# Формули Offset і End Date
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
# Автоматично підлаштувати стовпці
sheet.auto_fit_columns()
# Додати діаграму Ганта
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"
# Додати серії даних: Зсув (невидимий), Тривалість (видимий)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Встановіть імена завдань як мітки категорій
chart.n_series.category_data = "A2:A6"
# Зробіть стовпчики зсуву невидимими
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Розфарбуйте кожну панель завдань по-різному.
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)
# Показати позначки даних на барах тривалості
duration_series.data_labels.show_value = True
# Конфігурація осі
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
# Сховати легенду
chart.show_legend = False
# Змініть розмір діаграми
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Налаштуйте діаграму Ганта в Excel за допомогою Python
Отримайте безкоштовну ліцензію
Ви можете request a free temporary license щоб дослідити всі можливості Aspose.Cells без будь-яких обмежень або водяних знаків.
Додаткові ресурси
Бажаєте дослідити більше? Посилання нижче допоможуть вам глибше зануритися в Aspose.Cells for Python через .NET. Чи ви шукаєте детальні посібники, посилання на API або безкоштовні інструменти, ці ресурси вас забезпечать.
Останні слова
Створення діаграми Ганта в Excel за допомогою Python є простим та ефективним за допомогою Aspose.Cells for Python через .NET. Це дає вам повний контроль над дизайном діаграм та автоматизацією Excel. Спробуйте це з вашими даними проекту і побачте різницю.
Якщо у вас виникнуть будь-які питання, будь ласка, не соромтеся звертатися до нас на нашому безкоштовному форумі підтримки.