
Visualisering av uppgifter på en tidslinje hjälper till att hantera projekt bättre. I den här artikeln kommer du att lära dig hur man skapar ett Gantt-diagram i Excel med Python med Aspose.Cells för Python via .NET. Med bara några få rader kod kan du omvandla enkel uppgiftsdata till en dynamisk och ren visuell tidslinje, idealisk för rapporter, instrumentpaneler och planeringsdokument. Låt oss gå igenom det steg för steg.
Denna artikel behandlar följande ämnen:
- Python Excel-bibliotek för Gantt-diagram
- Gantt-diagram med staplade stapeldiagram
- Skapa ett Gantt-schema i Excel med hjälp av Python
- Anpassa Gantt-schema i Excel med Python
- Utforska gratis resurser
Python Excel-bibliotek för Gantt-diagram
Aspose.Cells for Python via .NET är ett kraftfullt bibliotek för att arbeta med Excel-filer i Python. Det gör att du kan skapa, ändra och formatera kalkylblad programmässigt - inklusive diagram som Gantt-diagram.
Nyckelfunktioner:
- Full control over Excel charts and data.
- Support för XLSX, XLS, CSV och PDF.
- Hög prestanda med stora filer.
- Rika anpassningsalternativ för diagram.
För att komma igång, vänligen installera biblioteket med:
pip install aspose-cells
Du kan också ladda ner den från releases.
Gantt-diagram med staplade stapeldiagram
Excel erbjuder ingen inbyggd Gantt-diagramtyp, och det gör inte heller Aspose.Cells. Men du kan fortfarande skapa ett genom att använda ett staplat stolp-diagram med lite formatering. Det här är en vanlig teknik, och Aspose.Cells stöder den helt genom kod.
Vad du kan göra med Aspose.Cells
Du kan enkelt automatisera ett Gantt-diagram i Excel genom att göra följande:
- Ange uppgiftsdata (uppgiftsnamn, startdatum och varaktighet).
- Infoga ett staplat diagram.
- Använd en serie för “startförskjutning” (osynlig) och en annan för “varaktighet” (synlig).
- Formatera diagrammet så att det ser ut som ett Gantt-diagram.
Detta ger dig en professionellt utseende tidslinje som du kan generera dynamiskt.
Sample Task Data
Här är ett exempel på en tabell som vi kommer att använda:
Uppgift | Startdatum | Varaktighet | Startfördröjning |
---|---|---|---|
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
Följ dessa steg för att skapa ett Gantt-schema i Excel med Python med Aspose.Cells för Python via .NET:
- Ladda en befintlig Excel-datafil med hjälp av
Workbook
-klassen. - Hämta det första kalkylbladet med
workbook.worksheets[0]
. - Lägg till ett staplat stapeldiagram för att lägga till ett Gantt-diagramlayout.
- Lägg till två dataserier: en för förskjutningen och en för varaktigheten.
- Ställ in uppgiftsnamn som kategorietiketter.
- Justera stilar och axelinställningar för att formatera diagrammet.
- Spara filen med hjälp av
workbook.save()
-metoden.
Här är en Python-kodsnutt som utför alla dessa steg:
import aspose.cells as cells
from aspose.pydrawing import Color
# Ladda Excel-filen
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Lägg till Gantt-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"
# Lägg till offset och varaktighet som serie
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Ställ upp uppgiftsnamn som kategorier
chart.n_series.category_data = "A2:A6"
# Gör förskjutna staplar osynliga
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Stil 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
# Axelinställningar
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
# Dölj legendan
chart.show_legend = False
# Ändra storlek på diagram (valfritt)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
Detta kommer att generera ett rent Gantt-liknande diagram med dina uppgifter.

Create a Gantt Chart in Excel using Python
Anpassa Gantt-schemat
Du kan anpassa ditt Gantt-schema med hjälp av följande tillgängliga alternativ:
Bar Colors
Ställ in en solid färg för varaktighetsstänger:
chart.n_series[1].area.foreground_color = Color.steel_blue
Transparent Offsets
Gör de osynliga staplarna helt genomskinliga.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Task Order
Vänd Y-axeln för att visa uppgifter från topp till botten:
chart.category_axis.is_plot_order_reversed = True
Data Labels
Visa varaktighet direkt på varje aktivitetsfält:
chart.n_series[1].data_labels.show_value = True
Legend Control
Ta bort eller flytta diagramlegenden.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Ställ in anpassade färger för staplar
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Ändra storlek på diagrammet
chart.chart_object.width = 700
chart.chart_object.height = 400
Exportera till PDF eller bild
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Följande Python-kodsnutt tillämpar några av de anpassningar som nämns ovan:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Initiera arbetsbok och arbetsblad
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Projektets startdatum
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")
# Task data: [Task Name, Start Date, Duration]
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"]
]
# Fyll i data i arket
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 och slutdatum formler
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 columns
sheet.auto_fit_columns()
# Lägg till Gantt-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"
# Lägg till dataserier: Offset (osynlig), Varaktighet (synlig)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Ställ in uppgiftsnamn som kategorimärken
chart.n_series.category_data = "A2:A6"
# Gör förskjutna staplar osynliga
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Färga varje uppgiftfält olika
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)
# Visa datamärken på varaktighetsfält.
duration_series.data_labels.show_value = True
# Axelkonfiguration
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
# Dölj legendan
chart.show_legend = False
# Ändra storlek på diagrammet
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Anpassa Gantt-diagrammet i Excel med Python
Få en gratis licens
Du kan begära en gratis temporär licens för att utforska hela kapabiliteterna i Aspose.Cells utan några begränsningar eller vattenstämplar.
Ytterligare resurser
Vill du utforska mer? Länkarna nedan hjälper dig att dyka djupare in i Aspose.Cells för Python via .NET. Oavsett om du letar efter detaljerade guider, API-referenser eller gratisverktyg, så har dessa resurser vad du behöver.
Final Words
Att skapa ett Gantt-diagram i Excel med Python är enkelt och effektivt med Aspose.Cells för Python via .NET. Det ger dig fullständig kontroll över diagramdesign och Excel-automatisering. Prova det med dina projektdata och se skillnaden.
Om du har några frågor, tveka inte att kontakta oss på vårt free support forum.