python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Spire.XLS操作Excel

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

作者: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 属性,使你能够轻松访问图表所使用的单元格范围,从而获取其中的数据。

关键步骤如下:

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 让批量调整图表尺寸变得简单高效。

关键步骤如下:

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 属性,你可以将图表移动到新的位置。

关键步骤如下:

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() 方法可批量清理无用图表,让文件保持整洁。

关键步骤如下:

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

您可能感兴趣的文章:
阅读全文