Python用Spire.XLS操作Excel图表的高阶教程

 更新时间:2025年08月25日 08:28:01   作者:E-iceblue  
这篇文章主要为大家详细介绍了Python使用Spire.XLS操作Excel图表的高阶教程,包括提取数据源,调整表大小,移动和删除图表等,感兴趣的小伙伴可以了解下

在日常工作中,您是否遇到过这些挑战:

  • 需要分析图表背后的原始数据却无从下手?
  • 图表尺寸不合适遮挡了关键信息?
  • 图表位置不合理破坏了报告布局?
  • 过时图表占用空间影响工作簿整洁?

本文将使用强大的 Spire.XLS for Python 库,通过具体场景演示如何通过 Spire.XLS 的表操作语句,高效解决提取数据源、调整表大小、移动和删除图表的实际操作。

准备工作

本教程将围绕 Spire.XLS for Python 库展开。作为一个完善的 Python 拓展库,它提供的 API 允许我们使用纯代码对 Excel 文件进行各类操作,同时不依赖于诸如 Microsoft Excel、WPS Office 的外部软件。

你可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install spire.xls

或者从 Spire.XLS for Python 下载 安装文件,解压缩后从“lib”文件夹中获取 .whl 文件,再使用 pip 的 install 语句从 .whl 文件安装,可以达到一样的效果。

Spire.XLS for Python 官方在官方网站提供了详细的教程文档,如果还是不清楚如何安装,你可以尝试访问 安装指南并寻求帮助。

Python 提取 Excel 图表的数据源

当销售报告的原始数据分布在多个工作表中难以查找时,手动操作费时且易错。使用 Spire.XLS for Python 可快速获取数据源,它提供了 Chart.DataRange 属性,使你能够轻松访问图表所使用的单元格范围,从而获取其中的数据。

关键步骤如下:

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
  • 使用 Worksheet.Charts[index] 属性获取图表。
  • 使用 Chart.DataRange 属性获取图表的数据单元格范围。
  • 遍历单元格范围中的行和列,获取每个单元格的数据。
from spire.xls import *
from spire.xls.common import *

# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("Microsoft Excel 工作表.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 图表的大小

图表尺寸过大遮挡摘要信息或过小导致数据标签难以辨认?通过 Chart.WidthChart.Height 属性,Spire.XLS for Python 让批量调整图表尺寸变得简单高效。

关键步骤如下:

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
  • 使用 Worksheet.Charts[index] 属性获取图表。
  • 使用 Chart.WidthChart.Height 属性调整图表的尺寸。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
from spire.xls import *
from spire.xls.common import *

# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 获取包含图表的工作表
sheet = workbook.Worksheets[0]

# 获取图表
chart = sheet.Charts[0]

# 调整图表大小
chart.Width = 450
chart.Height = 300

# 保存结果文件
workbook.SaveToFile("调整图表大小.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

调整图表大小

Python 移动 Excel 图表

当图表遮挡关键数据或破坏整体布局时,特别是从模板生成的报告,Spire.XLS for Python 提供精准的定位解决方案。使用它提供的 Chart.LeftColumnChart.TopRowChart.RightColumnChart.BottomRow 属性,你可以将图表移动到新的位置。

关键步骤如下:

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
  • 使用 Worksheet.Charts[index] 属性获取图表。
  • 使用 Chart.LeftColumnChart.TopRowChart.RightColumnChart.BottomRow 属性设置图表的新位置。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
from spire.xls import *
from spire.xls.common import *

# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 获取包含图表的工作表
sheet = workbook.Worksheets[0]

# 获取图表
chart = sheet.Charts[0]

# 设置图表的新位置(起始列、起始行、结束列、结束行)
chart.LeftColumn = 1
chart.TopRow = 8
chart.RightColumn = 8
chart.BottomRow = 24

# 保存结果文件
workbook.SaveToFile("移动图表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

移动图表

Python 删除 Excel 图表

长期使用的模板积累过时图表会导致文件臃肿、打开缓慢。Spire.XLS for Python 的 Chart.Remove() 方法可批量清理无用图表,让文件保持整洁。

关键步骤如下:

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[index] 属性获取包含图表的工作表。
  • 使用 Worksheet.Charts[index] 属性获取图表。
  • 使用 Chart.Remove() 方法删除图表。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
from spire.xls import *
from spire.xls.common import *

# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 获取包含图表的工作表
sheet = workbook.Worksheets[0]

# 获取图表
chart = sheet.Charts[0]

# 删除图表
chart.Remove()

# 保存结果文件
workbook.SaveToFile("删除图表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

删除图表

结语

通过掌握 Spire.XLS for Python 的图表操作技术,您可以:

  • 让图表数据提取时间显著缩短
  • 批量调整大量图表尺寸只需单次运行
  • 精准定位图表位置避免手动拖拽误差
  • 智能清理过时图表节省存储空间

这些技能特别适用于定期生成报告、批量处理文档和维护大型Excel模板等场景,让您将精力集中在数据分析而非格式调整上。

到此这篇关于Python用Spire.XLS操作Excel图表的高阶教程的文章就介绍到这了,更多相关Python Spire.XLS操作Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python批量将图片灰度化的实现代码

    Python批量将图片灰度化的实现代码

    这篇文章主要介绍了Python批量将图片灰度化的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Linux(Redhat)安装python3.6虚拟环境(推荐)

    Linux(Redhat)安装python3.6虚拟环境(推荐)

    这篇文章主要介绍了Linux(Redhat)安装python3.6虚拟环境,非常不错,具有参考借鉴价值 ,需要的朋友可以参考下
    2018-05-05
  • PyQt界面阻塞卡死问题的解决

    PyQt界面阻塞卡死问题的解决

    当用PyQt5开发一个GUI界面 ,需要执行业务逻辑时,后台逻辑执行时间长,界面就容易出现卡死、未响应等问题,本文主要介绍了PyQt界面阻塞卡死问题的解决
    2024-01-01
  • 如何利用python倒置所输字符串的顺序

    如何利用python倒置所输字符串的顺序

    这篇文章主要介绍了如何利用python倒置所输字符串的顺序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 用python给csv里的数据排序的具体代码

    用python给csv里的数据排序的具体代码

    在本文里小编给大家分享的是关于用python给csv里的数据排序的具体代码内容,需要的朋友们可以学习下。
    2020-07-07
  • Python日志库 Logoru介绍

    Python日志库 Logoru介绍

    Loguru是一个高效且易用的Python日志库,相较于传统的logging模块,它提供了简洁的API、自动化的日志处理、多线程安全等特点,Loguru支持日志级别管理、异常捕获、日志文件轮转与压缩、上下文信息添加等高级功能,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • python Pandas中数据的合并与分组聚合

    python Pandas中数据的合并与分组聚合

    大家好,本篇文章主要讲的是python Pandas中数据的合并与分组聚合,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 详解Python网络框架Django和Scrapy安装指南

    详解Python网络框架Django和Scrapy安装指南

    这篇文章主要介绍了详解Python网络框架Django和Scrapy安装指南,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Python创建普通菜单示例【基于win32ui模块】

    Python创建普通菜单示例【基于win32ui模块】

    这篇文章主要介绍了Python创建普通菜单,结合实例形式分析了Python基于win32ui模块创建普通菜单及添加菜单项的相关操作技巧,并附带说明了win32ui模块的安装命令,需要的朋友可以参考下
    2018-05-05
  • python写入csv时writerow()和writerows()函数简单示例

    python写入csv时writerow()和writerows()函数简单示例

    这篇文章主要给大家介绍了关于python写入csv时writerow()和writerows()函数的相关资料,writerows和writerow是Python中csv模块中的两个函数,用于将数据写入CSV文件,需要的朋友可以参考下
    2023-07-07

最新评论