图表是 Excel 中常用的数据可视化工具,能够将复杂的数据转化为直观的信息。在日常工作中,你可能需要根据实际需求对图表进行操作或调整。例如,你可能需要提取图表背后的数据以进行进一步分析,调整图表大小以适应布局,将图表移动到更合适的位置,或删除过时的图表以保持工作簿整洁、有序。这篇文章将介绍如何使用 Spire.XLS for Python 和 Python 在 Excel 中提取图表的数据源、调整图表大小,以及移动和删除图表。
安装 Spire.XLS for Python
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 提取 Excel 图表的数据源
在 Excel 中,每个图表都有其数据源,通过提取这些数据源,你可以对原始数据进行进一步分析或处理。Spire.XLS 提供了 Chart.DataRange 属性,使你能够轻松访问图表所使用的单元格范围,从而获取其中的数据。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
- 使用 Worksheet.Charts[index] 属性获取图表。
- 使用 Chart.DataRange 属性获取图表的数据单元格范围。
- 遍历单元格范围中的行和列,获取每个单元格的数据。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表示例.xlsx")
# 获取包含图表的工作表
sheet = workbook.Worksheets[0]
# 获取图表
chart = sheet.Charts[0]
# 获取图表使用的数据单元格范围
cellRange = chart.DataRange
# 遍历单元格范围中的行和列
for i in range(len(cellRange.Rows)):
for j in range(len(cellRange.Rows[i].Columns)):
# 获取每个单元格的数据
print(cellRange[i + 1, j + 1].Value + " ", end='')
print("")
workbook.Dispose()
Python 调整 Excel 图表的大小
调整图表的宽度和高度可以让其更好地适配工作表中的特定区域,从而提升可读性。在 Spire.XLS 中,可以通过 Chart.Width 和 Chart.Height 属性实现这一功能。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
- 使用 Worksheet.Charts[index] 属性获取图表。
- 使用 Chart.Width 和 Chart.Height 属性调整图表的尺寸。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表示例.xlsx")
# 获取包含图表的工作表
sheet = workbook.Worksheets[0]
# 获取图表
chart = sheet.Charts[0]
# 调整图表大小
chart.Width = 450
chart.Height = 300
# 保存结果文件
workbook.SaveToFile("调整图表大小.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
Python 移动 Excel 图表
将图表移动到适当位置,可以使工作表布局更整洁,信息更直观。使用 Spire.XLS 提供的 Chart.LeftColumn、Chart.TopRow、Chart.RightColumn 和 Chart.BottomRow 属性,你可以将图表移动到新的位置。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
- 使用 Worksheet.Charts[index] 属性获取图表。
- 使用 Chart.LeftColumn、Chart.TopRow、Chart.RightColumn 和 Chart.BottomRow 属性设置图表的新位置。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表示例.xlsx")
# 获取包含图表的工作表
sheet = workbook.Worksheets[0]
# 获取图表
chart = sheet.Charts[0]
# 设置图表的新位置(起始列、起始行、结束列、结束行)
chart.LeftColumn = 2
chart.TopRow = 7
chart.RightColumn = 11
chart.BottomRow = 30
# 保存结果文件
workbook.SaveToFile("移动图表.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
Python 删除 Excel 图表
删除不需要的图表可以保持工作簿的整洁。Spire.XLS 提供了 Chart.Remove() 方法,能够快速移除图表。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
- 使用 Worksheet.Charts[index] 属性获取图表。
- 使用 Chart.Remove() 方法删除图表。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表示例.xlsx")
# 获取包含图表的工作表
sheet = workbook.Worksheets[0]
# 获取图表
chart = sheet.Charts[0]
# 删除图表
chart.Remove()
# 保存结果文件
workbook.SaveToFile("删除图表.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。