
작업을 타임라인에 시각화하는 것은 프로젝트 관리를 더 잘 할 수 있도록 도와줍니다. 이 기사에서는 .NET을 통해 Aspose.Cells for Python를 사용하여 Excel에서 Gantt 차트를 만드는 방법을 배우게 됩니다. 몇 줄의 코드만으로 간단한 작업 데이터를 동적이고 깔끔한 시각적 타임라인으로 변환할 수 있으며, 이는 보고서, 대시보드 및 계획 문서에 이상적입니다. 함께 단계별로 진행해 봅시다.
이 기사는 다음 주제를 다룹니다:
- Python Excel 라이브러리 for Gantt 차트
- 스택 바 차트를 사용한 간트 차트
- Excel에서 Python을 사용하여 Gantt 차트를 만드십시오.
- 엑셀에서 Python을 사용하여 간트 차트 사용자 정의하기
- 무료 리소스 탐색하기
Gantt 차트를 위한 Python Excel 라이브러리
Aspose.Cells for Python via .NET는 Python에서 Excel 파일을 다루기 위한 강력한 라이브러리입니다. 이를 통해 프로그래밍 방식으로 스프레드시트를 생성, 수정 및 형식을 지정할 수 있으며, 간트 차트와 같은 차트도 포함됩니다.
주요 특징:
- Excel 차트와 데이터에 대한 완전한 제어.
- XLSX, XLS, CSV 및 PDF에 대한 지원.
- 대용량 파일로 고성능.
- 리치 차트 사용자 정의 옵션.
시작하려면 다음과 같이 라이브러리를 설치하세요:
pip install aspose-cells
You may also download it from the releases.
스택 바 차트가 포함된 간트 차트
Excel에는 내장된 간트 차트 유형이 제공되지 않으며 Aspose.Cells에서도 제공되지 않습니다. 그러나 약간의 형식을 적용하여 누적 막대 차트를 사용하여 여전히 만들 수 있습니다. 이것은 일반적인 기법이며 Aspose.Cells는 이를 코드로 완전히 지원합니다.
Aspose.Cells로 할 수 있는 것
Excel에서 간트 차트를 쉽게 자동화하려면 다음과 같이 하십시오:
- 작업 데이터 입력(작업 이름, 시작 날짜 및 기간).
- 스택형 막대 차트를 삽입하세요.
- "시작 오프셋"(보이지 않음)을 위한 하나의 시리즈와 "지속 시간"(보임)을 위한 또 다른 시리즈를 사용하십시오.
- 차트를 간트 차트처럼 보이도록 형식화하세요.
이것은 동적으로 생성할 수 있는 전문적인 타임라인을 제공합니다.
샘플 작업 데이터
여기 우리가 사용할 샘플 테이블이 있습니다:
작업 | 시작 날짜 | 기간 | 시작 오프셋 |
---|---|---|---|
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 |
엑셀에서 파이썬을 사용하여 간트 차트를 만드세요.
다음 단계를 따라 Python과 Aspose.Cells for Python via .NET을 사용하여 Excel에서 간트 차트를 생성하세요:
- 기존 Excel 데이터 파일을
Workbook
클래스를 사용하여 로드하십시오. workbook.worksheets[0]
로 첫 번째 워크시트를 가져옵니다.- Gantt 차트 레이아웃을 추가하기 위해 누적 세로 막대 차트를 추가하세요.
- 두 개의 데이터 시리즈를 추가하십시오: 하나는 오프셋을 위한 것이고 하나는 지속 시간을 위한 것입니다.
- 작업 이름을 범주 레이블로 설정합니다.
- 차트의 스타일과 축 설정을 조정하여 형식을 지정합니다.
- 파일을
workbook.save()
메소드를 사용하여 저장하세요.
여기 모든 단계를 수행하는 Python 코드 스니펫이 있습니다:
import aspose.cells as cells
from aspose.pydrawing import Color
# Excel 파일을 불러옵니다.
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# 간트 차트 추가
chart_index = sheet.charts.add(cells.charts.ChartType.BAR_STACKED, 7, 0, 30, 10)
chart = sheet.charts[chart_index]
chart.title.text = "Gantt Chart"
# 오프셋과 기간을 시리즈로 추가하세요.
chart.n_series.add("D2:D6", True) # Start Offset
chart.n_series.add("C2:C6", True) # Duration
# 작업 이름을 범주로 설정합니다.
chart.n_series.category_data = "A2:A6"
# 오프셋 바를 보이지 않게 만드세요.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# 스타일 지속 시간 바
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
# 축 설정
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
# 범례 숨기기
chart.show_legend = False
# 차트 크기 조정 (선택 사항)
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save the result
workbook.save("GanttChartResult.xlsx", cells.SaveFormat.XLSX)
이것은 귀하의 작업 데이터를 기반으로 깔끔한 간트 스타일 차트를 생성할 것입니다.

Excel에서 Python을 사용하여 간트 차트를 생성하기
간트 차트 사용자 정의
다음 사용 가능한 옵션을 사용하여 Gantt 차트를 사용자 정의할 수 있습니다:
바 색상
지속 시간 바에 단색을 설정하십시오:
chart.n_series[1].area.foreground_color = Color.steel_blue
투명한 오프셋
오프셋(보이지 않는) 막대를 완전히 투명하게 만드십시오.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
작업 주문
Y축을 반전시켜 작업을 위에서 아래로 표시합니다:
chart.category_axis.is_plot_order_reversed = True
데이터 레이블
각 작업 표시줄에 직접 지속 시간을 표시:
chart.n_series[1].data_labels.show_value = True
전설 제어
차트 범례를 제거하거나 재배치하세요.
chart.show_legend = False
# Or reposition:
chart.legend.position = cells.charts.LegendPositionType.BOTTOM
사용자 지정 바 색상 설정
chart.n_series[1].points[0].area.foreground_color = Color.green
chart.n_series[1].points[1].area.foreground_color = Color.red
차트 크기 조정
chart.chart_object.width = 700
chart.chart_object.height = 400
PDF 또는 이미지로 내보내기
workbook.save("gantt_chart.pdf", cells.SaveFormat.PDF)
chart.to_image("chart.png")
다음 파이썬 코드 스니펫은 위에서 언급한 몇 가지 사용자 정의를 적용합니다:
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime
# 워크북 및 워크시트 초기화
workbook = cells.Workbook()
sheet = workbook.worksheets.get(0)
sheet.name = "Gantt Data"
# 프로젝트 시작 날짜
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")
# 작업 데이터: [작업 이름, 시작 날짜, 기간]
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 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
# 오프셋 및 종료 날짜 수식
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
# 열 자동 맞춤
sheet.auto_fit_columns()
# 간트 차트 추가
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"
# 데이터 시리즈 추가: 오프셋 (보이지 않음), 지속 시간 (보임)
chart.n_series.add("D2:D6", True) # Offset
chart.n_series.add("C2:C6", True) # Duration
# 작업 이름을 카테고리 레이블로 설정합니다.
chart.n_series.category_data = "A2:A6"
# 오프셋 막대를 보이지 않게 하세요.
chart.n_series[0].area.formatting = cells.charts.FormattingType.NONE
# 각 작업 표시줄에 다르게 색칠하십시오.
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)
# 지속 시간 막대에 데이터 레이블 표시
duration_series.data_labels.show_value = True
# 축 구성
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
# 전설 숨기기
chart.show_legend = False
# 차트 크기 조정
chart.chart_object.width = 700
chart.chart_object.height = 400
# Save output
workbook.save("CustomizedGanttChart.xlsx", cells.SaveFormat.XLSX)

엑셀에서 파이썬을 사용하여 간트 차트 사용자 지정하기
무료 라이센스 얻기
귀하는 무료 임시 라이센스를 요청할 수 있습니다 제한이나 워터마크 없이 Aspose.Cells의 전체 기능을 탐색하기 위해.
추가 자료
더 탐색하고 싶으신가요? 아래 링크들은 .NET을 통한 Python을 위한 Aspose.Cells에 대해 더 깊이 파고들 수 있도록 도와줄 것입니다. 상세 가이드, API 참조 또는 무료 도구를 찾고 계시다면 이 자료들이 도움이 될 것입니다.
마지막 말
Excel에서 Gantt 차트를 Python으로 만드는 것은 .NET을 통한 Aspose.Cells를 사용하면 간단하고 효과적입니다. 이 도구는 차트 디자인과 Excel 자동화에 대한 완전한 제어를 제공합니다. 프로젝트 데이터로 시도해 보고 차이를 확인해 보세요.
질문이 있는 경우, 언제든지 우리 free support forum으로 연락 주시기 바랍니다.