
Membuat visualisasi jadwal proyek sangat penting untuk perencanaan dan pelacakan yang efektif. Dalam posting blog ini, Anda akan belajar cara membuat diagram Gantt di Excel menggunakan C#. Dengan hanya beberapa baris kode, Anda dapat mengotomatiskan pembuatan diagram Gantt yang dinamis dan menarik secara visual. Entah Anda sedang membangun alat manajemen proyek atau bekerja pada laporan internal, panduan ini akan menunjukkan kepada Anda cara mengubah data tugas menjadi jadwal yang jelas dan profesional—sepenuhnya dapat disesuaikan dan siap untuk diekspor ke dalam format Excel, PDF, atau gambar. Mari kita mulai!
Artikel ini mencakup topik-topik berikut:
- C# Excel Library untuk Membuat Diagram Gantt
- Cara Membangun Diagram Gantt Menggunakan Diagram Batang Bertumpuk
- Create a Gantt Chart in Excel using C#
- Sesuaikan Gantt Chart di Excel menggunakan C#
- Sumber Daya Gratis
C# Excel Library untuk Membuat Gantt Chart
Aspose.Cells for .NET adalah pustaka Excel yang kuat yang menyederhanakan proses pembuatan diagram Gantt di Excel. Ini menyediakan fitur-fitur yang kuat untuk memanipulasi file Excel secara programatik. Dengan Aspose.Cells, pengembang dapat dengan mudah membuat, memodifikasi, dan menyesuaikan grafik dan diagram. Pustaka ini mendukung berbagai format Excel dan menawarkan fungsionalitas lanjutan, menjadikannya pilihan ideal bagi manajer proyek dan pengembang.
Aspose.Cells for .NET menonjol karena kemudahan integrasi dan fleksibilitasnya. Berikut adalah beberapa fitur kunci:
- API Komprehensif: Akses berbagai fungsionalitas Excel.
- Kustomisasi Lanjutan: Sesuaikan grafik dan diagram untuk memenuhi kebutuhan spesifik.
- Kinerja Tinggi: Secara efisien menangani dataset besar tanpa mengorbankan kecepatan.
- Dukungan Berbagai Format: Bekerja dengan berbagai format Excel, termasuk XLSX, XLS, dan CSV.
Ikuti langkah-langkah sederhana ini untuk memulai dengan Aspose.Cells for .NET:
- Unduh pustaka dari releases.
- Instal melalui NuGet Package Manager dengan perintah berikut:
PM> Install-Package Aspose.Cells
Cara Membuat Diagram Gantt Menggunakan Diagram Batang Bertumpuk
Aspose.Cells tidak memiliki tipe grafik Gantt bawaan karena Excel sendiri juga tidak menawarkan tipe grafik Gantt asli. Namun, grafik Gantt di Excel biasanya dibuat menggunakan grafik batangan bertumpuk yang dipadukan dengan pemformatan kustom — dan Aspose.Cells mendukung pendekatan itu secara pemrograman.
Apa yang Bisa Anda Lakukan dengan Aspose.Cells:
Anda dapat mengotomatiskan pembuatan diagram Gantt di Excel dengan
- Mengatur data tugas (nama tugas, tanggal mulai, durasi).
- Menambahkan diagram batang bertumpuk.
- Menggunakan satu seri untuk “start offset” (tersembunyi) dan satu lagi untuk “duration” (terlihat).
- Memformat grafik agar mirip dengan grafik Gantt.
Sample Gantt Chart 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 |
Buat Gantt Chart di Excel menggunakan C#
Ikuti langkah-langkah ini untuk membuat grafik Gantt di Excel menggunakan C# dengan Aspose.Cells for .NET:
- Muat file Excel yang sudah ada menggunakan kelas
Workbook
. - Akses lembar kerja pertama menggunakan
workbook.Worksheets[0]
. - Tambahkan grafik menggunakan
ChartType.BarStacked
untuk mensimulasikan tata letak grafik Gantt. - Tambahkan offset dan durasi sebagai seri.
- Tetapkan label kategori menggunakan properti
CategoryData
. - Atur gaya dan pengaturan sumbu.
- Simpan workbook menggunakan
workbook.Save()
.
Berikut adalah cuplikan kode C# yang mengimplementasikan langkah-langkah di atas:
using Aspose.Cells;
using Aspose.Cells.Charts;
// Load the Excel file
Workbook workbook = new Workbook("sample-data.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Tambahkan Grafik Gantt
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 7, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Gantt Chart";
// Tambahkan offset dan durasi sebagai seri
chart.NSeries.Add("D2:D6", true); // Start Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Tetapkan nama tugas sebagai kategori
chart.NSeries.CategoryData = "A2:A6";
// Buat batang offset tidak terlihat
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Style duration bars
chart.NSeries[1].Area.Formatting = FormattingType.Custom;
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
// Pengaturan sumbu
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.CategoryAxis.Title.Text = "Tasks";
chart.ValueAxis.Title.Text = "Days from Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
// Sembunyikan legenda
chart.ShowLegend = false;
// Ubah ukuran grafik (opsional)
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Save the result
workbook.Save("GanttChartResult.xlsx", SaveFormat.Xlsx);

Buat Grafik Gantt di Excel menggunakan C#
Kustomisasi Gantt Chart di Excel mengunakan C#
Anda dapat meningkatkan grafik Gantt Anda menggunakan fitur kustomisasi berikut di Aspose.Cells for .NET:
Warna Batang Set warna padat untuk batang durasi:
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
Transparent Offsets Buat batang offset (tidak terlihat) sepenuhnya transparan.
chart.NSeries[0].Area.Formatting = FormattingType.None;
Task Order Balikkan sumbu Y untuk menampilkan tugas dari atas ke bawah:
chart.CategoryAxis.IsPlotOrderReversed = true;
Label Data Tampilkan durasi langsung pada setiap bilah tugas:
chart.NSeries[1].DataLabels.ShowValue = true;
Kontrol Legenda Hapus atau posisikan ulang legenda grafik.
chart.ShowLegend = false; // Or reposition: chart.Legend.Position = LegendPositionType.Bottom;
Individual Bar Styling Atur warna khusus untuk setiap tugas.
var series = chart.NSeries[1]; series.Points[0].Area.ForegroundColor = Color.Green; series.Points[1].Area.ForegroundColor = Color.Red;
Dimensi Grafik Ubah ukuran dan posisi grafik:
chart.ChartObject.Width = 700; chart.ChartObject.Height = 400;
Opsi Ekspor Simpan grafik ke Excel, PDF, atau gambar.
workbook.Save("GanttChart.xlsx"); workbook.Save("GanttChart.pdf", SaveFormat.Pdf); chart.ToImage("chart.png", ImageFormat.Png);
Berikut adalah potongan kode C# yang mengimplementasikan beberapa kustomisasi yang disebutkan di atas:
using Aspose.Cells;
using Aspose.Cells.Charts;
// Inisialisasi buku kerja dan lembar kerja
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "Gantt Data";
// Sample Task Data with Dates
DateTime projectStart = new DateTime(2025, 4, 1);
// Headers
sheet.Cells["A1"].PutValue("Task");
sheet.Cells["B1"].PutValue("Start Date");
sheet.Cells["C1"].PutValue("Duration (Days)");
sheet.Cells["D1"].PutValue("Start Offset");
sheet.Cells["E1"].PutValue("End Date");
// Data
string[,] 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 (int i = 0; i < tasks.GetLength(0); i++)
{
int row = i + 1 + 1; // Start from row 2
sheet.Cells[row, 0].PutValue(tasks[i, 0]); // Task Name
sheet.Cells[row, 1].PutValue(DateTime.Parse(tasks[i, 1])); // Start Date
sheet.Cells[row, 2].PutValue(int.Parse(tasks[i, 2])); // Duration
// Offset: = StartDate - ProjectStartDate
sheet.Cells[row, 3].Formula = $"=B{row + 1} - DATE(2025,4,1)";
sheet.Cells[row, 4].Formula = $"=B{row + 1} + C{row + 1}";
}
// Autofit
sheet.AutoFitColumns();
// Tambahkan grafik
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 10, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Project Gantt Chart";
// Add Series: Offset (invisible), Durasi (visible)
chart.NSeries.Add("D2:D6", true); // Offset
chart.NSeries.Add("C2:C6", true); // Duration
// Set label kategori
chart.NSeries.CategoryData = "A2:A6";
// Buat seri Offset transparan
chart.NSeries[0].Area.Formatting = FormattingType.None;
// Warnai setiap bilah tugas dengan berbeda
Series durationSeries = chart.NSeries[1];
for (int i = 0; i < durationSeries.Points.Count; i++)
{
durationSeries.Points[i].Area.ForegroundColor = Color.FromArgb(255, 100 + i * 30, 150); // Gradient color variation
}
// Tampilkan label data
chart.NSeries[1].DataLabels.ShowValue = true;
// Pengaturan Sumbu
chart.CategoryAxis.Title.Text = "Tasks";
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.ValueAxis.Title.Text = "Days from Project Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
chart.ValueAxis.MinValue = 0;
chart.ValueAxis.MajorUnit = 5;
// Hapus Legenda
chart.ShowLegend = false;
// Ubah ukuran grafik
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Ekspor ke Excel
workbook.Save("CustomizedGanttChart.xlsx", SaveFormat.Xlsx);

Sesuaikan Grafik Gantt di Excel menggunakan C#
Dapatkan Lisensi Gratis
Tertarik untuk menjelajahi produk Aspose? Kunjungi license page untuk mendapatkan lisensi sementara gratis. Sangat mudah untuk memulai dan memanfaatkan potensi penuh Aspose.Cells untuk proyek Anda!
Gantt Chart Excel: Sumber Daya Gratis
Jangan berhenti di sini! Jelajahi sumber daya tambahan untuk lebih meningkatkan pemahaman Anda tentang Aspose.Cells. Sumber daya ini akan membantu Anda menguasai otomatisasi Excel dan memperkuat keterampilan Anda.
Kesimpulan
Dalam pos blog ini, kami menjelajahi bagaimana cara membuat diagram Gantt di Excel menggunakan C#. Aspose.Cells for .NET menyederhanakan proses ini dengan fitur dan fleksibilitasnya yang kuat. Kami mendorong Anda untuk menjelajahi lebih lanjut tentang Aspose.Cells for .NET untuk meningkatkan kemampuan manajemen proyek Anda.
Jika Anda memiliki pertanyaan atau memerlukan bantuan lebih lanjut, silakan jangan ragu untuk menghubungi di free support forum.