نقشه گانت را در اکسل با استفاده از Python ایجاد کنید.

تصویرسازی وظایف در یک جدول زمانی به مدیریت بهتر پروژه‌ها کمک می‌کند. در این مقاله، شما یاد خواهید گرفت که چگونه یک نمودار گانت در اکسل با استفاده از پایتون و Aspose.Cells برای پایتون از طریق .NET ایجاد کنید. با فقط چند خط کد، می‌توانید داده‌های ساده وظیفه را به یک جدول زمانی بصری پویا و تمیز تبدیل کنید که برای گزارش‌ها، داشبوردها و اسناد برنامه‌ریزی ایده‌آل است. بیایید قدم به قدم از آن عبور کنیم.

این مقاله موارد زیر را پوشش می‌دهد:

کتابخانه پایتون اکسل برای نمودارهای گانت

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 12025-04-0130
Task 22025-04-0362
Task 32025-04-08107
Task 42025-04-18317
Task 52025-04-21520

یک نمودار گانت در اکسل با استفاده از پایتون ایجاد کنید

برای ایجاد یک چارت گانت در اکسل با استفاده از 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)

این یک نمودار به سبک گانت تمیز با داده‌های وظایف شما ایجاد خواهد کرد.

Create a Gantt Chart in Excel using Python

یک نمودار گانت در اکسل با استفاده از پایتون ایجاد کنید.

نمودار گانت را سفارشی کنید

شما می‌توانید نمودار گانت خود را با استفاده از گزینه‌های زیر سفارشی کنید:

رنگ‌های نوار

یک رنگ ثابت برای نوارهای مدت زمان تنظیم کنید:

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 رایگان ما تماس بگیرید.

همچنین ببینید