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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • win10从零安装配置pytorch全过程图文详解

    win10从零安装配置pytorch全过程图文详解

    这篇文章主要介绍了win10从零安装配置pytorch全过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • python3读取文件指定行的三种方法

    python3读取文件指定行的三种方法

    考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中。那么就需要一些特殊的处理方式,本文将要介绍的是从文件中只读取特定行的内容的3种解决方案。
    2021-05-05
  • 基于Python实现批量读取大量nc格式文件并导出全部时间信息

    基于Python实现批量读取大量nc格式文件并导出全部时间信息

    这篇文章主要为大家详细介绍了如何基于Python语言,逐一读取大量.nc格式的多时相栅格文件并导出其中所具有的全部时间信息的方法,需要的可以参考下
    2024-01-01
  • 在Python中操作MongoDB的详细教程和案例分享

    在Python中操作MongoDB的详细教程和案例分享

    MongoDB是一个高性能、开源、无模式的文档型数据库,非常适合存储JSON风格的数据,Python作为一种广泛使用的编程语言,通过PyMongo库可以方便地与MongoDB进行交互,本文将详细介绍如何在Python中使用PyMongo库来操作MongoDB数据库,需要的朋友可以参考下
    2024-08-08
  • 利用Python第三方库实现预测NBA比赛结果

    利用Python第三方库实现预测NBA比赛结果

    今天给大家带来的是关于Python的相关知识,文章围绕着利用Python实现预测NBA比赛结果展开,文中有非常详细的介绍,需要的朋友可以参考下
    2021-06-06
  • Python父目录、子目录的相互调用方法

    Python父目录、子目录的相互调用方法

    今天小编就为大家分享一篇Python父目录、子目录的相互调用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 深度学习详解之初试机器学习

    深度学习详解之初试机器学习

    机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价,让我们一起来看看吧
    2021-04-04
  • Python IDE环境之 新版Pycharm安装详细教程

    Python IDE环境之 新版Pycharm安装详细教程

    这篇文章主要介绍了Python IDE环境之 新版Pycharm安装教程,本文教程给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • python基础教程之面向对象的一些概念

    python基础教程之面向对象的一些概念

    这篇文章主要介绍了python基础教程之面向对象的一些概念,面向对象是一种代码组织方式,让代码复用最大化,需要的朋友可以参考下
    2014-08-08
  • 2023最新pytorch快速安装指南(超详细版)

    2023最新pytorch快速安装指南(超详细版)

    这篇文章主要给大家介绍了2023年最新pytorch快速安装指南的相关资料,PyTorch是一个开源的深度学习框架,提供了各种张量操作并通过自动求导可以自动进行梯度计算,方便构建各种动态神经网络,需要的朋友可以参考下
    2023-10-10

最新评论