上官银柳 发表于 4 天前

Python Excel 高阶教程:使用 Spire.XLS 提取数据源、调整表大小、移动和删除图表

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

[*]需要分析图表背后的原始数据却无从下手?
[*]图表尺寸不合适遮挡了关键信息?
[*]图表位置不合理破坏了报告布局?
[*]过时图表占用空间影响工作簿整洁?
本文将使用强大的 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 属性获取包含图表的工作表。
[*]使用 Worksheet.Charts 属性获取图表。
[*]使用 Chart.DataRange 属性获取图表的数据单元格范围。
[*]遍历单元格范围中的行和列,获取每个单元格的数据。
from spire.xls import *
from spire.xls.common import *

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

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

# 获取图表
chart = sheet.Charts

# 获取图表使用的数据单元格范围
cellRange = chart.DataRange

# 遍历单元格范围中的行和列
for i in range(len(cellRange.Rows)):
    for j in range(len(cellRange.Rows.Columns)):
      # 获取每个单元格的数据
      print(cellRange.Value + "", end='')
    print("")

workbook.Dispose()
(提取图表的数据源)
Python 调整 Excel 图表的大小

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

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

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

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

# 获取图表
chart = sheet.Charts

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

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

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

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

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

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

# 获取图表
chart = sheet.Charts

# 设置图表的新位置(起始列、起始行、结束列、结束行)
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 属性获取包含图表的工作表。
[*]使用 Worksheet.Charts 属性获取图表。
[*]使用 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

# 获取图表
chart = sheet.Charts

# 删除图表
chart.Remove()

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

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

[*]让图表数据提取时间显著缩短
[*]批量调整大量图表尺寸只需单次运行
[*]精准定位图表位置避免手动拖拽误差
[*]智能清理过时图表节省存储空间
这些技能特别适用于定期生成报告、批量处理文档和维护大型Excel模板等场景,让您将精力集中在数据分析而非格式调整上。如需了解更多高级功能或在实际应用中遇到问题,请访问 Spire.XLS for Python 中文教程 获取详细指导和技术支持。
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python Excel 高阶教程:使用 Spire.XLS 提取数据源、调整表大小、移动和删除图表