利用Python批量保存Excel文件中的图表为图片

 更新时间:2024年06月18日 09:51:16   作者:Eiceblue  
Excel工作簿作为一款功能强大的数据处理与分析工具,被广泛应用于各种领域,本文将详细介绍如何利用Python自动化实现从Excel文件中提取图表并保存为图片,需要的朋友可以参考下

Excel工作簿作为一款功能强大的数据处理与分析工具,被广泛应用于各种领域,不仅能够方便地组织和计算数据,还支持用户创建丰富多彩的图表,直观展示数据背后的洞察与趋势。然而,在报告编制、网页内容制作或分享数据分析成果时,直接嵌入整个Excel文件往往不够便捷,且可能受限于接收者的软件兼容性问题。而将Excel文件中的图表保存为图片格式(如PNG、JPEG等)则可以解决这些问题,不仅能确保图表的显示一致性跨平台,便于插入到PPT、文档或网页中,还能有效降低文件大小,加速在线传输与加载速度。本文将详细介绍如何利用Python自动化实现从Excel文件中提取图表并保存为图片。

本文所使用的方法基于Spire.XLS for Python,PyPI:pip install Spire.XLS

用Python将Excel文件中的图表保存为图片

该库中的Workbook.SaveChartAsImage()方法和Workbook.SaveChartAsEmfImage()方法能够将图片保存为图片和EMF图片流,之后我们再将图片流保存到文件,即可实现提取图表并保存为图像的操作。
以下是操作步骤:

  • 导入所需模块。
  • 创建Workbook对象并使用Workbook.LoadFromFile()方法载入Excel文件。
  • 遍历文件中的工作表,使用Workbook.Worksheets.get_Item()方法获取工作表。
  • 遍历工作表中的图表,使用Workbook.SaveChartAsImage().Save()方法将图表保存到图片文件。
  • 释放资源。

代码示例

from spire.xls import *
from spire.xls.common import *

# 创建Workbook实例
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("示例.xlsx")

# 遍历文件中的工作表
for i in range(0, workbook.Worksheets.Count):
    # 获取工作表
    worksheet = workbook.Worksheets.get_Item(i)
    # 遍历工作表中的图表
    for j in range(0, worksheet.Charts.Count):
        # 将图表保存为图片
        chartImage = workbook.SaveChartAsImage(worksheet, j).Save(f"output/charts/chart{i+1}_{j+1}.png")

workbook.Dispose()

保存结果

用Python将Excel图表工作表保存为图片

图表工作表(Chart Sheet)是Excel工作簿中专门用于显示图表的一个独立工作表类型,其中只包含一个图表。我们可以使用Workbook.GetChartSheetByName()方法通过工作表名获取指定图表工作表,并使用Workbook.SaveChartAsImage(chartSheet: ChartSheet).Save()方法将其转换为图片并保存。以下是操作步骤:

  1. 导入所需模块。
  2. 创建Workbook对象并使用Workbook.LoadFromFile()方法载入Excel文件。
  3. 使用Workbook.GetChartSheetByName()方法获取指定图表工作表。
  4. 使用Workbook.SaveChartAsImage().Save()方法将图表工作表保存为图像。
  5. 释放资源。

代码示例

from spire.xls import *
from spire.xls.common import *

# 创建一个Workbook实例
workbook = Workbook()

# 加载一个Excel文件
workbook.LoadFromFile("示例.xlsx")

# 获取一个图表工作表
chartSheet = workbook.GetChartSheetByName("图表一")

# 将图表工作表保存为图片
workbook.SaveChartAsImage(chartSheet).Save("output/charts/chartsheet.png")

workbook.Dispose()

结果

本文介绍了如何使用Python将Excel工作簿中的图表批量保存为图片。

到此这篇关于利用Python批量保存Excel文件中的图表为图片的文章就介绍到这了,更多相关Python保存Excel图表为图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python面向对象封装继承和多态示例讲解

    Python面向对象封装继承和多态示例讲解

    这篇文章给大家介绍了python面向对象的三大特征:封装,继承,多态的相关知识,通过实例代码讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2021-04-04
  • 基于python pygame实现的兔子吃月饼小游戏

    基于python pygame实现的兔子吃月饼小游戏

    pygame是用来开发游戏的一套基于SDL的模板,它可以是python创建完全界面化的游戏和多媒体程序,而且它基本上可以在任何系统上运行,这篇文章主要给大家介绍了基于python pygame实现的兔子吃月饼小游戏的相关资料,需要的朋友可以参考下
    2021-09-09
  • 利用python为PostgreSQL的表自动添加分区

    利用python为PostgreSQL的表自动添加分区

    这篇文章主要介绍了利用python为PostgreSQL的表自动添加分区,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python使用标准库根据进程名如何获取进程的pid详解

    python使用标准库根据进程名如何获取进程的pid详解

    Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的,所以下面这篇文章主要给大家介绍了关于python使用标准库根据进程名如何获取进程pid的相关资料,需要的朋友可以参考下。
    2017-10-10
  • Python 读取 Word 文档操作

    Python 读取 Word 文档操作

    这篇文章主要介绍了Python读取Word文档操作,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • vscode+PyQt5安装详解步骤

    vscode+PyQt5安装详解步骤

    这篇文章主要介绍了vscode+PyQt5安装详解步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 详解Flask框架中Flask-Login模块的使用

    详解Flask框架中Flask-Login模块的使用

    Flask-Login 是一个 Flask 模块,可以为 Flask 应用程序提供用户登录功能。这篇文章将通过一些示例为大家介绍一下Flask-Login模块的使用,需要的可以参考一下
    2023-01-01
  • Python办公自动化之JSOM数据处理与SQL Server数据库操作

    Python办公自动化之JSOM数据处理与SQL Server数据库操作

    这篇文章主要为大家详细介绍了Python办公自动化中JSOM数据处理与SQL Server数据库操作的相关知识,文中的示例代码简洁易懂,有需要的小伙伴可以参考下
    2024-01-01
  • 一文带你了解CNN(卷积神经网络)

    一文带你了解CNN(卷积神经网络)

    CNN是神经网络中的一种,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。本文主要讲解了CNN(卷积神经网络)的基础内容,想了解更多的小伙伴可以看一看这篇文章
    2021-09-09
  • 解决Pycharm 中遇到Unresolved reference ''sklearn''的问题

    解决Pycharm 中遇到Unresolved reference ''sklearn''的问题

    这篇文章主要介绍了解决Pycharm 中遇到Unresolved reference 'sklearn'的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论