图表是 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 天的临时许可证。