
تصویرسازی وظایف در یک جدول زمانی به مدیریت بهتر پروژهها کمک میکند. در این مقاله، شما یاد خواهید گرفت که چگونه یک نمودار گانت در اکسل با استفاده از پایتون و Aspose.Cells برای پایتون از طریق .NET ایجاد کنید. با فقط چند خط کد، میتوانید دادههای ساده وظیفه را به یک جدول زمانی بصری پویا و تمیز تبدیل کنید که برای گزارشها، داشبوردها و اسناد برنامهریزی ایدهآل است. بیایید قدم به قدم از آن عبور کنیم.
این مقاله موارد زیر را پوشش میدهد:
- کتابخانه پایتھن اکسل برای نمودارهای گانت
- نمودار گانت با استفاده از نمودارهای میلهای انباشته
- Create a Gantt Chart in Excel using Python
- Gantt Chart را در Excel با استفاده از پایتھن سفارشی سازی کنید
- منابع رایگان را بررسی کنید
کتابخانه پایتون اکسل برای نمودارهای گانت
Aspose.Cells for Python via .NET یک کتابخانه قدرتمند برای کار با فایلهای اکسل در پایتون است. این کتابخانه به شما این امکان را میدهد که به طور برنامهنویسی، جدولهای محاسباتی را ایجاد، تغییر و قالببندی کنید—از جمله نمودارهایی مانند نمودارهای گانت.
ویژگیهای کلیدی:
- کنترل کامل بر روی نمودارها و دادههای اکسل.
- پشتیبانی از XLSX، XLS، CSV و PDF.
- عملکرد بالا با فایلهای بزرگ.
- گزینههای سفارشیسازی نمودار غنی.
برای شروع، لطفاً کتابخانه را با نصب کنید:
pip install aspose-cells
شما همچنین میتوانید آن را از releases دانلود کنید.
نمودار گانت با نمودارهای میلهای انباشته شده
اکسل نوعی نمودار گانت داخلی ارائه نمیدهد و همچنین Aspose.Cells نیز چنین چیزی ندارد. اما شما هنوز هم میتوانید با استفاده از یک نمودار میلهای متراکم و کمی فرمتدهی، یکی بسازید. این یک تکنیک رایج است و Aspose.Cells به طور کامل از آن از طریق کد پشتیبانی میکند.
چه کارهایی میتوانید با Aspose.Cells انجام دهید
شما میتوانید به راحتی یک نمودار گانت را در اکسل با انجام موارد زیر خودکار کنید:
- اطلاعات وظیفه را وارد کنید (نام وظیفه، تاریخ شروع و مدت زمان).
- یک نمودار میلهای انباشته وارد کنید.
- از یک سری برای "offset شروع" (ناvisible) و دیگری برای "مدت" (قابل مشاهده) استفاده کنید.
- چارت را به گونهای فرمت کنید که شبیه نمودار گانت باشد.
این، یک زمان بندی با ظاهری حرفهای را به شما میدهد که میتوانید به صورت پویا تولید کنید.
Sample Task Data
در اینجا یک جدول نمونه است که از آن استفاده خواهیم کرد:
کار | تاریخ شروع | مدت زمان | جابجایی شروع |
---|---|---|---|
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 از طریق .NET، این مراحل را دنبال کنید:
- یک فایل داده اکسل موجود را با استفاده از کلاس
Workbook
بارگذاری کنید. - اولین ورق کاری را با
workbook.worksheets[0]
بگیرید. - نمودار میلهای انباشته را برای اضافه کردن یک طرحبندی گانت اضافه کنید.
- دو سری داده اضافه کنید: یکی برای انحراف و دیگری برای مدت زمان.
- نام وظایف را به عنوان برچسبهای دستهبندی تنظیم کنید.
- سبکها و تنظیمات محور را تغییر دهید تا نمودار را فرمت کنید.
- فایل را با استفاده از
workbook.save()
متد ذخیره کنید.
در اینجا یک تکه کد پایتون وجود دارد که تمام این مراحل را انجام میدهد:
import aspose.cells as cells
from aspose.pydrawing import Color
# فایل اکسل را بارگذاری کنید
workbook = cells.Workbook("sample-data.xlsx")
sheet = workbook.worksheets.get(0)
# Gantt Chart را اضافه کنید.
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"
# مخفی کردن نوارهای Offset
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)
این یک نمودار به سبک گانت تمیز با دادههای وظایف شما ایجاد خواهد کرد.

یک نمودار گانت در اکسل با استفاده از پایتون ایجاد کنید.
نمودار گانت را سفارشی کنید
شما میتوانید نمودار گانت خود را با استفاده از گزینههای زیر سفارشی کنید:
رنگهای نوار
یک رنگ ثابت برای نوارهای مدت زمان تنظیم کنید:
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"
# افزودن سری داده: Offset (نامرئی)، Duration (قابل مشاهده)
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)

چگونه نمودار گانت را در اکسل با استفاده از پایتون سفارشیسازی کنیم
مجوز رایگان بگیرید
شما میتوانید request a free temporary license را درخواست کنید تا بدون هیچ گونه محدودیت یا واترمارک، تمامی قابلیتهای Aspose.Cells را بررسی کنید.
منابع اضافی
میخواهید بیشتر کاوش کنید؟ لینکهای زیر به شما کمک میکنند تا بیشتر در Aspose.Cells for Python از طریق .NET غوطهور شوید. چه به دنبال راهنماهای دقیق، مرجعهای API، یا ابزارهای رایگان باشید، این منابع شما را پوشش میدهند.
کلمات نهایی
ایجاد یک نمودار گانت در اکسل با استفاده از پایتون با Aspose.Cells برای پایتون از طریق .NET ساده و مؤثر است. این به شما کنترل کامل بر طراحی نمودار و اتوماسیون اکسل میدهد. آن را با دادههای پروژه خود امتحان کنید و تفاوت را مشاهده کنید.
اگر به هر گونه سوالی برخورد کردید، لطفاً به راحتی با ما در forum support رایگان ما تماس بگیرید.