没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-07-16 10:54:37.343|阅读 56 次
概述:时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码,即可将简单的任务数据转换为动态清晰的可视化时间轴,非常适合用于报表、仪表板和规划文档。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码,即可将简单的任务数据转换为动态清晰的可视化时间轴,非常适合用于报表、仪表板和规划文档。
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
Aspose.Cells for Python via .NET是一个功能强大的库,用于在 Python 中处理 Excel 文件。它允许您以编程方式创建、修改和格式化电子表格,包括甘特图等图表。
首先,请使用以下命令安装该库:
pip install aspose-cells
您也可以从发布版本中下载它。
Excel 和 Aspose.Cells 均未提供内置甘特图类型。但您仍然可以使用堆叠条形图并进行一些格式设置来创建甘特图。这是一种常用技术,Aspose.Cells 完全通过代码支持该技术。
您可以通过执行以下操作轻松地在 Excel 中自动执行甘特图:
这为您提供了一个可以动态生成的专业时间线。
这是我们将使用的示例表:
任务 | 开始日期 | 期间 | 起始偏移 |
---|---|---|---|
任务 1 | 2025年4月1日 | 3 | 0 |
任务 2 | 2025年4月3日 | 6 | 2 |
任务 3 | 2025年4月8日 | 10 | 7 |
任务 4 | 2025年4月18日 | 3 | 17 |
任务 5 | 2025年4月21日 | 5 | 20 |
按照以下步骤通过 .NET 使用 Aspose.Cells for Python 在 Excel 中创建甘特图:
以下是执行所有这些步骤的 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 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 # Offset and End Date formulas 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 # 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 * 30 duration_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 自动化。
————————————————————————————————————————
关于慧都科技:
慧都科技是专注软件工程、智能制造、石油工程三大行业的数字化解决方案服务商。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技Aspose在中国的官方授权代理商,提供Aspose系列产品免费试用,咨询,正版销售等于一体的专业化服务。Aspose是文档处理领域的优秀产品,帮助企业高效构建文档处理的应用程序。
下载|体验更多Aspose产品,请联系在线客服咨询,或拨打产品热线:023-68661681
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网在 C# 中将 DataTable 导出为 Excel 文件,是 .NET 开发中常见的任务,广泛应用于报表生成、日志导出、系统间数据共享等场景。本文将介绍如何使用 Spire.XLS for .NET 将 DataTable 导出为 Excel(.xlsx/.xls)文件,包含数据创建、导出保存、格式设置等实用步骤。
本文主要介绍DevExpress WPF Grid控件中网格视图数据布局中的紧凑模式,欢迎下载最新版组件体验!
图像通常包含有价值的文本,但从JPG等格式中提取文本并非易事。本文将学习如何使用 Python 提取 JPG 文本。无论您是要自动化文档处理还是数字化印刷材料,此解决方案都能快速准确地为您提供结果。
Parasoft SOAtest 作为一款专业的服务级测试工具,不仅支持广泛的接口和 UI 测试能力,还能够与 Jenkins、Docker 等主流 CI 工具链无缝集成,帮助团队搭建稳定、高效、易于维护的测试自动化体系。
专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Aspose.Cells for Java在基于Java的应用程序中可完全控制电子表格操作,不需要依赖Microsoft Excel。
Aspose.Cells专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Spire.XLS for .NETSpire.XLS for .NET是专业.NET Excel组件,快速完成对Excel各类编程操作
Spire.XLS for PythonSpire.XLS for Python是一个专业的 Excel 开发组件
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号