
Visualisasi tugas pada garis waktu membantu mengelola proyek dengan lebih baik. Dalam artikel ini, Anda akan belajar cara membuat diagram Gantt di Excel menggunakan Python dengan Aspose.Cells for Python melalui .NET. Dengan hanya beberapa baris kode, Anda dapat mengubah data tugas yang sederhana menjadi garis waktu visual yang dinamis dan bersih, ideal untuk laporan, dasbor, dan dokumen perencanaan. Mari kita jalani langkah demi langkah.
Artikel ini membahas topik-topik berikut:
- Python Excel Library untuk Diagram Gantt
- Diagram Gantt Menggunakan Grafik Batang Bertumpuk
- Buat Grafik Gantt di Excel menggunakan Python
- Kustomisasi Gantt Chart di Excel menggunakan Python
- Jelajahi Sumber Daya Gratis
Python Excel Library untuk Grafik Gantt
Aspose.Cells for Python via .NET adalah pustaka yang kuat untuk bekerja dengan file Excel di Python. Ini memungkinkan Anda untuk membuat, mengubah, dan memformat spreadsheet secara programatis—termasuk grafik seperti grafik Gantt.
Fitur Utama:
- Kontrol penuh atas grafik dan data Excel.
- Dukungan untuk XLSX, XLS, CSV, dan PDF.
- Kinerja tinggi dengan file besar.
- Opsi kustomisasi grafik yang kaya.
Untuk memulai, silakan instal perpustakaan dengan:
pip install aspose-cells
Anda juga dapat mengunduhnya dari releases.
Gantt Charts dengan Diagram Batang Bertumpuk
Excel tidak menyediakan tipe diagram Gantt bawaan, dan begitu juga Aspose.Cells. Namun, Anda masih bisa membuatnya dengan menggunakan diagram batang tumpuk dengan sedikit pemformatan. Ini adalah teknik yang umum, dan Aspose.Cells sepenuhnya mendukungnya melalui kode.
Apa yang Bisa Anda Lakukan dengan Aspose.Cells
Anda dapat dengan mudah mengotomatiskan diagram Gantt di Excel dengan melakukan hal berikut:
- Masukkan data tugas (nama tugas, tanggal mulai, dan durasi).
- Sisipkan diagram batang bertumpuk.
- Gunakan satu seri untuk "start offset" (tidak terlihat) dan satu lagi untuk "duration" (terlihat).
- Format grafiknya agar terlihat seperti grafik Gantt.
Ini memberi Anda garis waktu yang terlihat profesional yang dapat Anda hasilkan secara dinamis.
Sample Task Data
Berikut adalah tabel contoh yang akan kami gunakan:
Tugas | Tanggal Mulai | Durasi | Offset Mulai |
---|---|---|---|
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 |
Buat Gantt Chart di Excel menggunakan Python
Ikuti langkah-langkah ini untuk membuat diagram Gantt di Excel menggunakan Python dengan Aspose.Cells for Python melalui .NET:
- Muatan file data Excel yang ada menggunakan kelas
Workbook
. - Dapatkan lembar kerja pertama dengan
workbook.worksheets[0]
. - Tambahkan grafik batang bertumpuk untuk menambahkan tata letak grafik Gantt.
- Tambahkan dua seri data: satu untuk offset dan satu untuk durasi.
- Set task names as category labels.
- Sesuaikan gaya dan pengaturan sumbu untuk memformat grafik.
- Simpan file menggunakan metode
workbook.save()
.
Berikut adalah cuplikan kode Python yang melakukan semua langkah ini:
import aspose.cells as cells
from aspose.pydrawing import Color
# Load the Excel file
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Tambahkan Diagram 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"
# Tambahkan offset dan durasi sebagai seri
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# Tetapkan nama tugas sebagai kategori
chart.n_series.category_data = "A2:A6"
# Buat offset bars tidak terlihat
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Gaya durasi bilah
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
# Pengaturan sumbu
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
# Sembunyikan legenda
chart.show_legend = False
# Ubah ukuran grafik (opsional)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
Ini akan menghasilkan grafik gaya Gantt yang bersih dengan data tugas Anda.

Buat Grafik Gantt di Excel menggunakan Python
Sesuaikan Chart Gantt
Anda dapat menyesuaikan grafik Gantt Anda menggunakan opsi yang tersedia berikut:
Warna Bar
Atur warna solid untuk bilah durasi:
chart.n_series[1].area.foreground_color = Color.steel_blue
Transparent Offsets
Buat batang offset (tidak terlihat) sepenuhnya transparan.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
Task Order
Balik sumbu Y untuk menampilkan tugas dari atas ke bawah:
chart.category_axis.is_plot_order_reversed = True
Label Data
Tampilkan durasi langsung di setiap bilah tugas:
chart.n_series[1].data_labels.show_value = True
Kontrol Legenda
Hapus atau pindahkan legenda grafik.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
Atur Warna Bar Kustom
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
Ubah Ukuran Grafik
chart.chart_object.width = 700
chart.chart_object.height = 400
Ekspor ke PDF atau Gambar
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
Potongan kode Python berikut menerapkan beberapa penyesuaian yang disebutkan di atas:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# Inisialisasi workbook dan worksheet
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# Tanggal mulai proyek
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")
# Data tugas: [Nama Tugas, Tanggal Mulai, Durasi]
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"]
]
# Isi data ke dalam lembar kerja
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
# Rumus Offset dan Tanggal Akhir
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
# Sesuaikan lebar kolom otomatis
sheet.auto_fit_columns()
# Tambahkan grafik 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"
# Tambahkan seri data: Offset (tidak terlihat), Durasi (terlihat)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# Atur nama tugas sebagai label kategori
chart.n_series.category_data = "A2:A6"
# Buat batang offset tidak terlihat
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# Warnai setiap bilah tugas dengan warna yang berbeda
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)
# Tampilkan label data pada batang durasi
duration_series.data_labels.show_value = True
# Konfigurasi sumbu
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
# Sembunyikan legenda
chart.show_legend = False
# Ubah ukuran grafik
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

Sesuaikan Grafik Gantt di Excel menggunakan Python
Dapatkan Lisensi Gratis
Anda dapat request a free temporary license untuk menjelajahi sepenuhnya kemampuan Aspose.Cells tanpa batasan atau watermark.
Sumber Tambahan
Ingin menjelajahi lebih banyak? Tautan di bawah ini akan membantu Anda menyelami lebih dalam ke dalam Aspose.Cells for Python melalui .NET. Apakah Anda mencari panduan mendetail, referensi API, atau alat gratis, sumber daya ini telah mencakup kebutuhan Anda.
Kata-kata Terakhir
Membuat diagram Gantt di Excel dengan Python adalah sederhana dan efektif menggunakan Aspose.Cells for Python melalui .NET. Ini memberi Anda kontrol penuh atas desain diagram dan otomatisasi Excel. Cobalah dengan data proyek Anda dan lihat perbedaannya.
Jika Anda memiliki pertanyaan, silakan merasa bebas untuk menghubungi kami di forum dukungan gratis kami.