
Vizualizace úkolů na časové ose pomáhá lépe řídit projekty. V tomto článku se naučíte, jak vytvořit Ganttův diagram v Excelu pomocí Pythonu s Aspose.Cells for Python via .NET. S pouhými několika řádky kódu můžete převést jednoduchá data úkolů na dynamickou a čistou vizuální časovou osu, ideální pro zprávy, panely s informacemi a plánovací dokumenty. Pojďme si to projít krok za krokem.
Tento článek pokrývá následující témata:
- Knihovna Python Excel pro grafy Ganttových diagramů
- Ganttův diagram pomocí prostorových sloupcových diagramů
- Vytvořte Ganttův diagram v Excelu pomocí Python
- Přizpůsobení Ganttova diagramu v Excelu pomocí Python
- Prozkoumejte zdarma dostupné zdroje
Python Excel knihovna pro Ganttovy diagramy
Aspose.Cells for Python via .NET je výkonná knihovna pro práci s Excel soubory v Pythonu. Umožňuje vám programově vytvářet, upravovat a formátovat tabulky—včetně diagramů, jako jsou Ganttovy diagramy.
Klíčové vlastnosti:
- Plná kontrola nad grafy a daty v Excelu.
- Podpora pro XLSX, XLS, CSV a PDF.
- Vysoký výkon s velkými soubory.
- Možnosti přizpůsobení bohatého grafu.
Pro zahájení prosím nainstalujte knihovnu pomocí:
pip install aspose-cells
Můžete si to také stáhnout z releases.
Ganttovy diagramy s hromadnými sloupcovými diagramy
Excel nenabízí vestavěný typ Ganttova diagramu, ani Aspose.Cells. Ale stále si můžete jeden vytvořit pomocí zhuštěného sloupcového grafu s trochou formátování. To je běžná technika a Aspose.Cells to plně podporuje prostřednictvím kódu.
Co můžete dělat s Aspose.Cells
Můžete snadno automatizovat Ganttův diagram v Excelu tak, že provedete následující:
- Zadejte údaje o úkolu (název úkolu, datum začátku a trvání).
- Vložte sloupcový graf s vrstvením.
- Použijte jednu sérii pro "počáteční posun" (neviditelný) a druhou pro "trvání" (viditelné).
- Naformátujte tabulku tak, aby vypadala jako Ganttův diagram.
Tohle vám poskytne profesionálně vypadající časovou osu, kterou můžete dynamicky generovat.
Sample Task Data
Tady je vzorová tabulka, kterou budeme používat:
Úkol | Datum začátku | Doba trvání | Počáteční posun |
---|---|---|---|
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
Následujte tyto kroky pro vytvoření Ganttova diagramu v Excelu za použití Pythonu s Aspose.Cells for Python prostřednictvím .NET:
- Načtěte existující datový soubor Excel pomocí třídy
Workbook
. - Získejte první pracovní list pomocí
workbook.worksheets[0]
. - Přidejte sloupcový graf, abyste přidali rozložení Ganttova grafu.
- Přidejte dvě datové řady: jednu pro offset a jednu pro trvání.
- Nastavte názvy úkolů jako kategorie.
- Upravte styly a nastavení os, aby se graf správně naformátoval.
- Uložte soubor pomocí metody
workbook.save()
.
Tady je úryvek kódu v Pythonu, který provádí všechny tyto kroky:
import aspose.cells as cells
from aspose.pydrawing import Color
# Načtěte soubor Excel.
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Přidat Ganttův diagram
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# Přidejte offset a trvání jako sérii
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Nastavte názvy úkolů jako kategorie
chart.n_series.category_data = "A2:A6"
# Udělej offsetové pruhy neviditelné
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Stylizovat trvání pruhů
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
# Nastavení osy
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
# Skryt legendu
chart.show_legend = False
# Změnit velikost grafu (volitelné)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
To bude generovat čistý Ganttův diagram s vašimi úkolovými daty.

Vytvořte Ganttův diagram v Excelu pomocí Pythonu
Přizpůsobte Ganttův diagram
Můžete přizpůsobit svůj Ganttův diagram pomocí následujících dostupných možností:
Bar Colors
Nastavte pro trvání lišt jednobarevnou barvu:
chart.n_series[1].area.foreground_color = Color.steel_blue
Transparent Offsets
Udělejte offset (neviditelné) pruhy zcela průhledné.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Úkolový pořadí
Obraťte osu Y, aby se úkoly zobrazovaly shora dolů:
chart.category_axis.is_plot_order_reversed = True
Data Labels
Zobrazit dobu trvání přímo na každém panelu úloh:
chart.n_series[1].data_labels.show_value = True
Legend Control
Odstraňte nebo přesuňte legendu grafu.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Nastavit vlastní barvy lišty
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Změňte velikost grafu
chart.chart_object.width = 700
chart.chart_object.height = 400
Exportovat do PDF nebo obrázku
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Následující úryvek kódu v Pythonu aplikuje některé z výše zmíněných přizpůsobení:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Inicializovat pracovní knihu a pracovní list
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Datum zahájení projektu
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")
# Údaje o úloze: [Název úlohy, Datum začátku, Doba trvání]
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"]
]
# Vyplňte údaje do tabulky
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 a koncové datumové vzorce
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
# Auto-fit sloupce
sheet.auto_fit_columns()
# Přidat Ganttův diagram
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"
# Přidat datové řady: Offset (neviditelný), Doba trvání (viditelná)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Nastavte názvy úkolů jako štítky kategorií
chart.n_series.category_data = "A2:A6"
# Udělejte offsetové lišty neviditelné
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Zbarvěte každý úkolový panel jinak
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)
# Zobrazit datové štítky na pruhách trvání
duration_series.data_labels.show_value = True
# Konfigurace osy
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
# Skryj legendu
chart.show_legend = False
# Změnit velikost grafu
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Přizpůsobení Ganttova grafu v Excelu pomocí Pythonu
Získejte bezplatnou licenci
Můžete request a free temporary license k prozkoumání plných možností Aspose.Cells bez jakýchkoli omezení nebo vodoznaků.
Další zdroje
Chcete prozkoumat více? Odkazy níže vám pomohou hlouběji se ponořit do Aspose.Cells for Python prostřednictvím .NET. Ať už hledáte podrobné průvodce, API reference nebo zdarma nástroje, tyto zdroje vás pokryjí.
Závěrečná slova
Vytváření Ganttova diagramu v Excelu pomocí Pythonu je jednoduché a efektivní s použitím Aspose.Cells for Python přes .NET. Dává vám plnou kontrolu nad návrhem grafu a automatizací Excelu. Vyzkoušejte to se svými projektovými daty a uvidíte rozdíl.
Pokud narazíte na nějaké otázky, neváhejte se obrátit na naše free support forum.