网站制作的行业,上海新闻报道,网站建设基础教程,分辨率大于1920的网站怎么做时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码#xff0c;即可将简单的任务数据转换为动态清晰的可视化时间轴#xff0c;非常适合用于报表、仪表板和规划文档。
Aspose.Cells官方试… 时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码即可将简单的任务数据转换为动态清晰的可视化时间轴非常适合用于报表、仪表板和规划文档。
Aspose.Cells官方试用版免费下载
用于甘特图的 Python Excel 库
Aspose.Cells for Python via .NET是一个功能强大的库用于在 Python 中处理 Excel 文件。它允许您以编程方式创建、修改和格式化电子表格包括甘特图等图表。
主要特点
完全控制 Excel 图表和数据。支持 XLSX、XLS、CSV 和 PDF。大文件时具有高性能。丰富的图表自定义选项。
首先请使用以下命令安装该库
pip install aspose-cells 您也可以从发布版本中下载它。 甘特图与堆叠条形图
Excel 和 Aspose.Cells 均未提供内置甘特图类型。但您仍然可以使用堆叠条形图并进行一些格式设置来创建甘特图。这是一种常用技术Aspose.Cells 完全通过代码支持该技术。
Aspose.Cells 的功能
您可以通过执行以下操作轻松地在 Excel 中自动执行甘特图
输入任务数据任务名称、开始日期和持续时间。插入堆积条形图。使用一个系列作为“起始偏移量”不可见使用另一个系列作为“持续时间”可见。将图表格式化为甘特图。
这为您提供了一个可以动态生成的专业时间线。
示例任务数据
这是我们将使用的示例表
任务开始日期期间起始偏移任务 12025年4月1日30任务 22025年4月3日62任务 32025年4月8日107任务 42025年4月18日317任务 52025年4月21日520
使用 Python 在 Excel 中创建甘特图
按照以下步骤通过 .NET 使用 Aspose.Cells for Python 在 Excel 中创建甘特图
使用该类加载现有的 Excel 数据文件Workbook。获取第一个工作表workbook.worksheets[0]。添加堆积条形图以添加甘特图布局。添加两个数据系列一个用于偏移量一个用于持续时间。将任务名称设置为类别标签。调整样式和轴设置来格式化图表。使用该方法保存文件workbook.save()。
以下是执行所有这些步骤的 Python 代码片段
import aspose.cells as cells
from aspose.pydrawing import Color# Load the Excel file
workbook cells.Workbook(sample-data.xlsx)
sheet workbook.worksheets.get(0)# Add 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# Add offset and duration as series
chart.n_series.add(D2:D6, True) # Start Offset
chart.n_series.add(C2:C6, True) # Duration# Set task names as categories
chart.n_series.category_data A2:A6# Make offset bars invisible
chart.n_series[0].area.formatting cells.charts.FormattingType.NONE# Style duration bars
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# Axis settings
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# Hide legend
chart.show_legend False# Resize chart (optional)
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)
以下 Python 代码片段应用了上面提到的一些自定义
import aspose.cells as cells
from aspose.pydrawing import Color
import datetime# Initialize workbook and worksheet
workbook cells.Workbook()
sheet workbook.worksheets.get(0)
sheet.name Gantt Data# Project start date
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)# Task data: [Task Name, Start Date, Duration]
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]
]# Fill data into the sheet
for i, task in enumerate(tasks):row i 2 # Start from row 2sheet.cells.get(row, 0).put_value(task[0]) # Task Namesheet.cells.get(row, 1).put_value(datetime.datetime.strptime(task[1], %Y-%m-%d).date()) # Start Datesheet.cells.get(row, 2).put_value(int(task[2])) # Duration# Offset and End Date formulassheet.cells.get(row, 3).formula fB{row 1} - DATE(2025,4,1) # Offsetsheet.cells.get(row, 4).formula fB{row 1} C{row 1} # End Date# Auto-fit columns
sheet.auto_fit_columns()# Add Gantt chart
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# Add data series: Offset (invisible), Duration (visible)
chart.n_series.add(D2:D6, True) # Offset
chart.n_series.add(C2:C6, True) # Duration# Set task names as category labels
chart.n_series.category_data A2:A6# Make offset bars invisible
chart.n_series[0].area.formatting cells.charts.FormattingType.NONE# Color each task bar differently
duration_series chart.n_series[1]
for i in range(duration_series.points.count):red 100 i * 30duration_series.points[i].area.foreground_color Color.from_argb(255, red, 150)# Show data labels on duration bars
duration_series.data_labels.show_value True# Axis configuration
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# Hide legend
chart.show_legend False# Resize chart
chart.chart_object.width 700
chart.chart_object.height 400# Save output
workbook.save(CustomizedGanttChart.xlsx, cells.SaveFormat.XLSX) 总结
使用 Aspose.Cells for Python 通过 .NET 在 Excel 中创建甘特图既简单又高效。它让您可以完全控制图表设计和 Excel 自动化。