Python使用Spire.XLS进行插入,修改和删除迷你图

 更新时间:2025年08月31日 08:29:12   作者:E-iceblue  
这篇文章主要为大家详细介绍如何使用 Spire.XLS for Python 在 Excel 中插入、修改和删除迷你图,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

在日常工作中,你是否遇到过这些情况:需要分析图表背后的原始数据却无从下手?图表尺寸不合适遮挡了重要信息?图表位置不合理影响报告布局?

在 Excel 中,迷你图是一种紧凑而高效的图表类型,它通常嵌入在单元格内,用于快速直观地展示数据趋势。这种图表非常适合用于显示单元格区域中的数据变化,尤其在处理大量数据时,能够帮助我们轻松识别模式和趋势。本文将详细介绍如何使用 Spire.XLS for Python 在 Excel 中插入、修改和删除迷你图

插入迷你图

假设你现在有一个工作簿,其中某个工作表需要你绘制图表来描述数据的趋势。然而,你发现该工作表数据量庞大,组织结构复杂,直接添加常规图表可能会导致工作簿布局混乱。 此时,迷你图便成为了一个理想的替代方案,它占用空间小,同时能清晰地显示数据趋势。

迷你图是 Excel 中一种独特的图表类型,因为它不像其他图表那样可能占用多个单元格区域,而是仅占用一个单元格,特别适合在可用空间不足时使用。

Spire.XLS for Python 支持向 Excel 工作表中插入三种迷你图:

  • 折线迷你图:显示数据随时间的变化趋势,适用于展示连续数据的变化。
  • 柱形迷你图:以竖条的形式展示数据,适合用于比较一系列数值之间的大小。
  • 盈亏迷你图:用于展示二进制结果(如盈亏、胜负等),通常只有两个值(正值或负值)会显示为相同的颜色。

关键步骤如下:

  • 创建 Workbook 类的对象并使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 使用 Workbook.Worksheets[index] 属性获取特定工作表。
  • 使用 Worksheet.SparklineGroups.AddGroup() 方法给工作表添加一个迷你图组。
  • 使用 SparklineGroup.SparklineTypeSparklineGroup.SparklineColorSparklineGroup.HighPointColor 属性指定迷你图组中迷你图的类型、颜色和最高点的颜色。
  • 使用 SparklineGroup.Add() 方法添加一个迷你图集合,然后使用 SparklineCollection.Add() 方法添加迷你图到迷你图集合。
  • 使用 Workbook.SaveToFile() 方法保存结果文档。
from spire.xls import *
from spire.xls.common import *

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

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 添加折线迷你图组
sparkline_group1 = sheet.SparklineGroups.AddGroup()
sparkline_group1.SparklineType = SparklineType.Line
# 设置迷你图组的颜色
sparkline_group1.SparklineColor = Color.get_Orange()
# 设置迷你图组最高点的颜色
sparkline_group1.HighPointColor = Color.get_Red()
# 添加迷你图到图组
sparklines1 = sparkline_group1.Add()
sparklines1.Add(sheet.Range["B3:M3"], sheet.Range["N3"])

# 添加柱形迷你图组
sparkline_group2 = sheet.SparklineGroups.AddGroup()
sparkline_group2.SparklineType = SparklineType.Column
# 设置迷你图组的颜色
sparkline_group2.SparklineColor = Color.get_BlueViolet()
# 设置迷你图组最高点的颜色
sparkline_group2.HighPointColor = Color.get_Red()
# 添加迷你图到图组
sparklines2 = sparkline_group2.Add()
sparklines2.Add(sheet.Range["B4:M4"], sheet.Range["N4"])

# 添加盈亏迷你图组
sparkline_group3 = sheet.SparklineGroups.AddGroup()
sparkline_group3.SparklineType = SparklineType.Stacked
# 设置迷你图组的颜色
sparkline_group3.SparklineColor = Color.get_DarkBlue()
# 设置迷你图组最高点的颜色
sparkline_group3.HighPointColor = Color.get_Red()
# 添加迷你图到图组
sparklines3 = sparkline_group3.Add()
sparklines3.Add(sheet.Range["B5:M5"], sheet.Range["N5"])

# 保存文档
workbook.SaveToFile("添加迷你图.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

上述代码在现有工作表的 N3:N5 区间内添加了3个迷你图,分别是折线迷你图、柱形迷你图和盈亏迷你图,并分别为它们设置了样式。

在 Excel 表格中插入迷你图

修改迷你图

仅仅插入迷你图还不足以完全反映数据的真实情况。你可能需要修改其样式、颜色或数据源,以使其准确显示你所需的信息。

Python 提供了 SparklineGroupSparklineType 属性,让你可以在 Python 环境下轻松修改 Excel 工作表中迷你图的类型和数据源。

关键步骤如下:

  • 创建 Workbook 类的对象并使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 使用 Workbook.Worksheets[index] 属性获取特定工作表。
  • 使用 Worksheet.SparklineGroups[index] 属性获取工作表中特定的迷你图组。
  • 使用 SparklineGroup.SparklineType 属性修改迷你图组中迷你图的类型。
  • 获取迷你图组中第一个迷你图的集合并使用 ISparklines.RefreshRanges() 方法修改迷你图集合的数据源。
  • 使用 Workbook.SaveToFile() 方法保存结果文档。
from spire.xls import *
from spire.xls.common import *

# 创建Workbook对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("添加迷你图.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 修改第一个迷你图组中迷你图的类型和数据范围
sparklineGroup = sheet.SparklineGroups[0]
sparklineGroup.SparklineType = SparklineType.Column
sparklines = sparklineGroup[0]
sparklines.RefreshRanges(sheet.Range["B3:G3"], sheet.Range["N3"])

# 保存结果文档
workbook.SaveToFile("修改迷你图.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

上述代码成功将N3单元格的折线迷你图修改为了柱形迷你图,同时没有影响到其他的任何单元格。

通过 Python 在 Excel 中修改迷你图

删除迷你图

有时,为了简化报表或重新组织数据,你可能需要删除 Excel 工作表中的迷你图。

Spire.XLS for Python 提供了 **Remove()**方法来删除单个迷你图或整个迷你图组。

关键步骤如下:

  • 创建 Workbook 类的对象并使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 使用 Workbook.Worksheets[index] 属性获取特定工作表。
  • 使用 Worksheet.SparklineGroups[index] 属性获取工作表中特定的迷你图组。
  • 使用 Worksheet.SparklineGroups.Remove() 方法删除该迷你图组。或者获取迷你图组中第一个迷你图的集合并删除集合中的第一个迷你图。
  • 使用 Workbook.SaveToFile() 方法保存结果文档。
from spire.xls import *
from spire.xls.common import *

# 创建Workbook对象
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("添加迷你图.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 获取第一个迷你图组
sparklineGroup = sheet.SparklineGroups[0]

# 删除第一个迷你图组中的第一个迷你图
sparklines = sparklineGroup[0]
sparklines.Remove(sparklines[0])

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

上述代码将可以把工作表内的第一个迷你图删除,不影响它引用的数据源或其他迷你图。

结语

本文详细介绍了如何使用 Spire.XLS for Python 在 Excel 中进行迷你图的插入、修改和删除操作。通过这些功能,你可以更灵活地处理和展示数据,提升数据分析报告的专业性和可读性。

迷你图作为一种轻量级的数据可视化工具,在有限的空间内提供了强大的趋势洞察力,是 Excel 报表制作中不可或缺的一部分。

到此这篇关于Python使用Spire.XLS进行插入,修改和删除迷你图的文章就介绍到这了,更多相关Python迷你图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 完美解决Python2操作中文名文件乱码的问题

    完美解决Python2操作中文名文件乱码的问题

    下面小编就为大家带来一篇完美解决Python2操作中文名文件乱码的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • python如何编写win程序

    python如何编写win程序

    在本篇文章里小编给大家分享的是关于python编写win程序的实例内容,有需要的朋友们可以学习下。
    2020-06-06
  • python 实现文件的递归拷贝实现代码

    python 实现文件的递归拷贝实现代码

    今天翻电脑时突然发现有个存了很多照片和视频的文件夹,想起来是去年换手机(流行的小5)时拷出来的。看了几张照片,往事又一幕幕的浮现在脑海,好吧,我是个感性的人
    2012-08-08
  • Python+wxPython实现个人链接收藏夹

    Python+wxPython实现个人链接收藏夹

    这篇文章主要介绍了如何使用wxPython和XML数据源创建一个具有按钮和Web视图的应用程序窗口,以便轻松管理和访问各种网页链接,感兴趣的可以了解下
    2023-08-08
  • 用Python写一个无界面的2048小游戏

    用Python写一个无界面的2048小游戏

    这篇文章主要介绍了用Python写一个无界面的2048小游戏的相关资料,需要的朋友可以参考下
    2016-05-05
  • 通过示例学习python中os模块的使用

    通过示例学习python中os模块的使用

    os模块是Python中处理文件和文件夹的重要模块,其中了解模块的一些基本功能对于使用Python对excel进行数据分析具有很大的帮助,这篇文章主要介绍了python os模块使用,感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • python 字符串常用方法超详细梳理总结

    python 字符串常用方法超详细梳理总结

    字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。本文为大家总结了Python中必备的31个字符串方法,需要的可以参考一下
    2022-03-03
  • Yolov5训练意外中断后如何接续训练详解

    Yolov5训练意外中断后如何接续训练详解

    目标检测是计算机视觉上的一个重要任务,下面这篇文章主要给大家介绍了关于Yolov5训练意外中断后如何接续训练的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • python如何实现反向迭代

    python如何实现反向迭代

    这篇文章主要为大家详细介绍了python如何实现反向迭代,进行反向迭代,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • python中time.ctime()实例用法

    python中time.ctime()实例用法

    在本篇内容里小编给大家整理的是一篇关于python中time.ctime()实例用法内容,有兴趣的朋友们可以跟着学习参考下。
    2021-02-02

最新评论