
Görevlerin bir zaman dilimindeki görselleştirmesi projeleri daha iyi yönetmeye yardımcı olur. Bu makalede, .NET üzerinden Aspose.Cells for Python kullanarak Excel’de bir Gantt grafiği nasıl oluşturulacağını öğreneceksiniz. Sadece birkaç satır kod ile basit görev verilerini dinamik ve temiz bir görsel zaman dilimine dönüştürebilirsiniz; bu, raporlar, panolar ve planlama belgeleri için idealdir. Adım adım ilerleyelim.
Bu makale şu konuları kapsar:
- Python Excel Kütüphanesi Gantt Şemaları için
- Gantt Chart Using Stacked Bar Charts
- Create a Gantt Chart in Excel using Python
- Excel’de Gantt Grafiğini Python kullanarak Özelleştirin
- Ücretsiz Kaynakları Keşfedin
Python Excel Kütüphanesi Gantt Grafikleri için
Aspose.Cells for Python via .NET Python’da Excel dosyalarıyla çalışmak için güçlü bir kütüphanedir. Programlı olarak elektronik tablolar oluşturmanıza, değiştirmenize ve formatlamanıza olanak tanır—Gantt grafikleri gibi grafikler de dahil.
Ana Özellikler:
- Excel grafikleri ve verileri üzerinde tam kontrol.
- XLSX, XLS, CSV ve PDF desteği.
- Büyük dosyalarla yüksek performans.
- Zengin grafik özelleştirme seçenekleri.
Başlamak için, lütfen kütüphaneyi şu komutla kurun:
pip install aspose-cells
Ayrıca, bunu releases üzerinden de indirebilirsiniz.
Gantt Grafikleri ile Yığılmış Çubuk Grafikler
Excel, yerleşik bir Gantt grafiği türü sunmaz ve Aspose.Cells de öyle. Ancak, biraz biçimlendirme ile bir yığılmış çubuk grafiği kullanarak hâlâ bir tane oluşturabilirsiniz. Bu yaygın bir tekniktir ve Aspose.Cells bunu tam olarak kod aracılığıyla destekler.
Aspose.Cells ile Neler Yapabilirsiniz
Bir Gantt şemasını Excel’de kolayca otomatikleştirebilirsiniz. Bunun için aşağıdakileri yapın:
- Görev verilerini girin (görev adı, başlangıç tarihi ve süre).
- Bir yığılmış çubuk grafik ekleyin.
- Bir seri "başlangıç kaydırması" (görünmez) ve diğerini "süre" (görünür) için kullanın.
- Grafiği bir Gantt grafiği gibi görünmesi için biçimlendirin.
Bu, dinamik olarak oluşturabileceğiniz profesyonel görünümlü bir zaman çizelgesi sağlar.
Örnek Görev Verisi
İşte kullanacağımız bir örnek tablo:
Görev | Başlangıç Tarihi | Süre | Başlangıç Ofseti |
---|---|---|---|
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
Bu adımları izleyerek .NET üzerinden Python ile Aspose.Cells kullanarak Excel’de bir Gantt grafiği oluşturun:
- Mevcut bir Excel veri dosyasını
Workbook
sınıfını kullanarak yükleyin. - İlk çalışma sayfasını
workbook.worksheets[0]
ile alın. - Bir yığılmış çubuk grafik ekleyerek bir Gantt grafik düzeni ekleyin.
- İki veri serisi ekleyin: biri ofset için diğeri süre için.
- Görev adlarını kategori etiketleri olarak ayarlayın.
- Stil ve eksen ayarlarını ayarlayın, grafiği biçimlendirin.
- Dosyayı
workbook.save()
yöntemi ile kaydedin.
İşte bu adımları gerçekleştiren bir Python kodu:
import aspose.cells as cells
from aspose.pydrawing import Color
# Excel dosyasını yükleyin
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Gantt Chart ekle
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# Sıra olarak ofset ve süre ekle
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Görev adlarını kategoriler olarak ayarla
chart.n_series.category_data = "A2:A6"
# Offset çubukları görünmez yapın
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Tarz süre çubukları
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
# Eksen ayarları
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
# Efsaneyi gizle
chart.show_legend = False
# Grafiği yeniden boyutlandır (isteğe bağlı)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
Bu, görev verilerinizle temiz bir Gantt tarzı grafik oluşturacaktır.

Excel’de Python kullanarak Gantt Çizelgesi oluşturun
Gantt Şemasını Özelleştir
Gantt şemanızı aşağıdaki mevcut seçenekleri kullanarak özelleştirebilirsiniz:
Bar Colors
Süre çubukları için tek bir renk ayarlayın:
chart.n_series[1].area.foreground_color = Color.steel_blue
Şeffaf Ofsetler
Kaydırma (görünmez) çubukları tamamen saydam hale getirin.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Görev Sırası
Y-eksenini ters çevirin ve görevleri yukarıdan aşağıya gösterin:
chart.category_axis.is_plot_order_reversed = True
Veri Etiketleri
Görev çubuğundaki her görevde süreyi doğrudan göster:
chart.n_series[1].data_labels.show_value = True
Efsane Kontrol
Grafik efsanesini kaldırın veya yeniden yerleştirin.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Özel Çubuk Renklerini Ayarla
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Grafiği Yeniden Boyutlandırın
chart.chart_object.width = 700
chart.chart_object.height = 400
PDF veya Resim Olarak Dışa Aktar
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Aşağıdaki Python kodu, yukarıda belirtilen bazı özelleştirmeleri uygular:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Çalışma kitabını ve çalışma sayfasını başlatın
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Proje başlangıç tarihi
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")
# Görev verileri: [Görev Adı, Başlangıç Tarihi, Süre]
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"]
]
# Verileri şifreye doldur.
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 ve Bitiş Tarihi formülleri
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
# Sütunları otomatik boyutlandır
sheet.auto_fit_columns()
# Gantt şeması ekle
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"
# Veri serileri ekle: Ofset (görünmez), Süre (görünür)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Görev adlarını kategori etiketleri olarak ayarlayın
chart.n_series.category_data = "A2:A6"
# Offset çubuklarını görünmez yapın
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Her görev çubuğunu farklı renklere boyayın.
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)
# Süre çubuklarında veri etiketlerini göster
duration_series.data_labels.show_value = True
# Eksen yapılandırması
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
# Efsaneyi gizle
chart.show_legend = False
# Grafiği yeniden boyutlandırın
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Excel’de Gantt Şeması Oluşturmak için Python’u Özelleştirin
Ücretsiz Lisans Alın
Ücretsiz geçici bir lisans request a free temporary license talep edebilirsiniz, böylece Aspose.Cells’in tüm yeteneklerini herhangi bir kısıtlama veya filigran olmadan keşfedebilirsiniz.
Ek Kaynaklar
Daha fazla keşfetmek ister misiniz? Aşağıdaki bağlantılar, .NET aracılığıyla Aspose.Cells for Python hakkında daha derinlemesine bilgi edinmenize yardımcı olacaktır. İster detaylı kılavuzlar, ister API referansları, ister ücretsiz araçlar arıyor olun, bu kaynaklar size yardımcı olacaktır.
Final Words
Excel’de Python ile Gantt grafiği oluşturmak, .NET aracılığıyla Aspose.Cells kullanarak basit ve etkili bir yöntemdir. Grafik tasarımı ve Excel otomasyonu üzerinde tam kontrol sağlar. Bunu proje verilerinizle deneyin ve farkı görün.
Herhangi bir sorunuz olursa, lütfen free support forum adresinden bizimle iletişime geçmekte özgür olun.