
프로젝트 타임라인을 시각화하는 것은 효과적인 계획 및 추적을 위해 중요합니다. 이 블로그 포스트에서는 C#을 사용하여 Excel에서 간트 차트를 만드는 방법을 배웁니다. 몇 줄의 코드만으로도 동적이고 시각적으로 매력적인 간트 차트를 생성하는 작업을 자동화할 수 있습니다. 프로젝트 관리 도구를 구축하든 내부 보고서 작업을 하든, 이 가이드는 작업 데이터를 명확하고 전문적인 타임라인으로 전환하는 방법을 보여줄 것입니다—전적으로 사용자 정의 가능하며 Excel, PDF 또는 이미지 형식으로 내보낼 준비가 되어 있습니다. 시작해 보겠습니다!
이 기사는 다음 주제를 다룹니다:
- C# Excel 라이브러리로 간트 차트 만들기
- 스택형 막대 차트를 사용하여 간트 차트를 만드는 방법
- Create a Gantt Chart in Excel using C#
- C#를 사용하여 Excel에서 간트 차트 사용자 정의하기
- 무료 자료
C# 엑셀 라이브러리로 간트 차트 만들기
Aspose.Cells for .NET은 Excel에서 간트 차트를 생성하는 과정을 간소화하는 강력한 Excel 라이브러리입니다. 이 라이브러리는 Excel 파일을 프로그래밍적으로 조작할 수 있는 강력한 기능을 제공합니다. Aspose.Cells를 사용하면 개발자는 차트와 그래프를 쉽게 생성, 수정 및 사용자 정의할 수 있습니다. 이 라이브러리는 다양한 Excel 형식을 지원하며 고급 기능을 제공하여 프로젝트 관리자와 개발자 모두에게 이상적인 선택입니다.
Aspose.Cells for .NET는 통합 용이성과 유연성 덕분에 두드러집니다. 다음은 몇 가지 주요 기능입니다:
- 포괄적인 API: 다양한 Excel 기능에 접근하세요.
- 고급 사용자 정의: 차트와 그래프를 특정 요구에 맞게 조정합니다.
- 고성능: 속도를 저하시키지 않으면서 대용량 데이터셋을 효율적으로 처리합니다.
- 다양한 형식 지원: XLSX, XLS, CSV 등 다양한 Excel 형식으로 작업하세요.
Aspose.Cells for .NET을 시작하는 간단한 단계를 따라해 보세요:
- 라이브러리를 releases에서 다운로드하십시오.
- 다음 명령을 사용하여 NuGet 패키지 관리자에서 설치합니다:
PM> Install-Package Aspose.Cells
스택형 막대 차트를 사용하여 간트 차트를 만드는 방법
Aspose.Cells에는 기본 Gantt 차트 유형이 없는데, 이는 Excel 자체도 기본 Gantt 차트 유형을 제공하지 않기 때문입니다. 그러나 Excel에서 Gantt 차트는 일반적으로 누적 세로 막대 차트와 사용자 지정 서식을 결합하여 생성됩니다. Aspose.Cells는 이러한 접근 방식을 프로그래밍 방식으로 지원합니다.
Aspose.Cells로 할 수 있는 것:
Excel에서 간트 차트를 자동으로 생성하는 방법은 다음과 같습니다.
- 작업 데이터 설정 (작업 이름, 시작 날짜, 지속 기간).
- 스택형 막대 차트 추가.
- “start offset” (hidden)에 대한 하나의 시리즈와 “duration” (visible)에 대한 또 다른 시리즈를 사용하세요.
- 차트를 간트 차트와 비슷하게 형식화하고 있습니다.
샘플 간트 차트 데이터
| 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 |
Create a Gantt Chart in Excel using C#
Excel에서 C#과 Aspose.Cells for .NET을 사용하여 간트 차트를 만드는 단계는 다음과 같습니다:
- 기존 Excel 파일을
Workbook
클래스를 사용하여 불러옵니다. workbook.Worksheets[0]
를 사용하여 첫 번째 워크시트에 접근하십시오.ChartType.BarStacked
를 사용하여 간트 차트 레이아웃을 시뮬레이션하는 차트를 추가하세요.- 오프셋과 지속 시간을 시리즈로 추가하십시오.
CategoryData
속성을 사용하여 카테고리 레이블을 설정하십시오.- 스타일 및 축 설정 설정.
- 워크북을
workbook.Save()
를 사용하여 저장합니다.
여기 위의 단계를 구현한 C# 코드 조각이 있습니다:
using Aspose.Cells;
using Aspose.Cells.Charts;
// Excel 파일을 불러오세요.
Workbook workbook = new Workbook("sample-data.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// 간트 차트 추가
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 7, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Gantt Chart";
// 오프셋과 지속 시간을 시리즈로 추가하십시오.
chart.NSeries.Add("D2:D6", true); // Start Offset
chart.NSeries.Add("C2:C6", true); // Duration
// 작업 이름을 카테고리로 설정하십시오.
chart.NSeries.CategoryData = "A2:A6";
// 오프셋 막대를 보이지 않게 하세요
chart.NSeries[0].Area.Formatting = FormattingType.None;
// 스타일 지속 시간 바
chart.NSeries[1].Area.Formatting = FormattingType.Custom;
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
chart.NSeries[1].DataLabels.ShowValue = true;
// 축 설정
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.CategoryAxis.Title.Text = "Tasks";
chart.ValueAxis.Title.Text = "Days from Start";
chart.ValueAxis.MajorGridLines.IsVisible = true;
// 범례 숨기기
chart.ShowLegend = false;
// 차트 크기 조정 (선택 사항)
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Save the result
workbook.Save("GanttChartResult.xlsx", SaveFormat.Xlsx);

Create a Gantt Chart in Excel using C#
Excel에서 C#을 사용하여 간트 차트를 사용자 정의하기
다음 사용자 지정 기능을 사용하여 Aspose.Cells for .NET에서 Gantt 차트를 향상시킬 수 있습니다:
바 색상 지속 시간 바에 대한 단색 설정:
chart.NSeries[1].Area.ForegroundColor = Color.SteelBlue;
투명한 오프셋 오프셋 (보이지 않는) 막대를 완전히 투명하게 만드십시오.
chart.NSeries[0].Area.Formatting = FormattingType.None;
작업 순서 Y축을 반전시켜 작업을 위에서 아래로 표시합니다:
chart.CategoryAxis.IsPlotOrderReversed = true;
데이터 레이블 작업 표시줄의 각 작업에 직접 지속 시간을 표시:
chart.NSeries[1].DataLabels.ShowValue = true;
전설 제어 차트 범례를 제거하거나 위치를 변경하십시오.
chart.ShowLegend = false; // Or reposition: chart.Legend.Position = LegendPositionType.Bottom;
개별 바 스타일링 각 작업에 대해 사용자 지정 색상을 설정하십시오.
var series = chart.NSeries[1]; series.Points[0].Area.ForegroundColor = Color.Green; series.Points[1].Area.ForegroundColor = Color.Red;
차트 크기 차트를 크기 조정하고 위치를 변경하세요:
chart.ChartObject.Width = 700; chart.ChartObject.Height = 400;
내보내기 옵션 차트를 Excel, PDF 또는 이미지로 저장하세요.
workbook.Save("GanttChart.xlsx"); workbook.Save("GanttChart.pdf", SaveFormat.Pdf); chart.ToImage("chart.png", ImageFormat.Png);
다음은 위에서 언급한 몇 가지 사용자 정의를 구현한 C# 코드 스니펫입니다:
using Aspose.Cells;
using Aspose.Cells.Charts;
// 워크북과 워크시트를 초기화합니다.
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "Gantt Data";
// 샘플 작업 데이터와 날짜
DateTime projectStart = new DateTime(2025, 4, 1);
// 헤더들
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: = 시작일 - 프로젝트 시작일
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();
// 차트를 추가하세요.
int chartIndex = sheet.Charts.Add(ChartType.BarStacked, 10, 0, 30, 10);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Project Gantt Chart";
// 시리즈 추가: 오프셋(보이지 않음), 지속시간(보이기)
chart.NSeries.Add("D2:D6", true); // Offset
chart.NSeries.Add("C2:C6", true); // Duration
// 카테고리 레이블 설정
chart.NSeries.CategoryData = "A2:A6";
// Offset 시리즈를 투명하게 만드세요.
chart.NSeries[0].Area.Formatting = FormattingType.None;
// 작업 막대를 각각 다르게 색칠하십시오.
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
}
// 데이터 레이블 표시
chart.NSeries[1].DataLabels.ShowValue = true;
// 축 설정
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;
// 레전드 제거
chart.ShowLegend = false;
// 차트 크기 조정
chart.ChartObject.Width = 700;
chart.ChartObject.Height = 400;
// Excel로 내보내기
workbook.Save("CustomizedGanttChart.xlsx", SaveFormat.Xlsx);

엑셀에서 C#을 사용하여 간트 차트 사용자 지정하기
무료 라이센스 받기
Aspose 제품 탐색에 관심이 있으신가요? license page 를 방문하여 무료 임시 라이선스를 받으세요. Aspose.Cells의 모든 잠재력을 프로젝트에서 활용하는 것은 쉽습니다!
간트 차트 엑셀: 무료 리소스
여기서 멈추지 마세요! Aspose.Cells에 대한 이해를 더욱 향상시키기 위한 추가 리소스를 탐색하세요. 이러한 리소스는 Excel 자동화를 마스터하고 기술을 강화하는 데 도움이 될 것입니다.
결론
이 블로그 게시물에서는 C#을 사용하여 Excel에서 간트 차트를 만드는 방법을 살펴보았습니다. Aspose.Cells for .NET은 강력한 기능과 유연성으로 이 프로세스를 간소화합니다. 프로젝트 관리 기능을 향상시키기 위해 Aspose.Cells for .NET에 대해 더 알아보시기 바랍니다.
질문이 있거나 추가 지원이 필요하시면, 언제든지 free support forum으로 연락해 주시기 바랍니다.