Python实现将Excel中图表形状等内容导出为图片

 更新时间:2025年05月20日 08:06:35   作者:nuclear2011  
微软 Excel 是一个功能强大的数据分析和可视化工具,能够帮助用户创建各种图表,形状以及其他交互元素,本文我们就来看看如何使用Python将他们导出为图片吧

微软 Excel 是一个功能强大的数据分析和可视化工具,能够帮助用户创建各种图表、形状以及其他交互元素。在某些情况下,我们需要将这些可视化元素转换为图片,以便在演示文稿、报告或其他文档中使用。手动导出这些元素会比较繁琐,尤其是在处理多个文件时。本文将探讨如何使用 Python 自动化地从 Excel 中提取图表、形状和其他元素,并将其保存为图片,主要涵盖内容如下:

为什么将 Excel 中的图表、形状和其他元素导出为图片?

将 Excel 中的图表、形状和其他元素转换为图片可以带来很多好处,例如:

  • 便于分享:图片可以轻松嵌入电子邮件、演示文稿或其他文档中,无需接收者安装 Excel。
  • 一致的格式:与可能在不同设备上呈现不同结果的 Excel 文件相比,图片在各个环境中保持相同的外观。
  • 性能提升:静态图片的加载速度通常快于交互元素。
  • 增强安全性:图片格式可以防止他人访问或修改底层数据,保护信息安全。

工具与设置

要在 Python 中将 Excel 中的图表、形状及其他元素保存为图片,本文将使用 Spire.XLS for Python。该库支持在Python中创建、操作和转换Excel文件,同时无需依赖微软Office 或其他软件。

安装Spire.XLS

Spire.XLS 提供了两个版本,可以根据需求选择合适的版本:

社区版:免费使用,但每个 .xls 文件限制为 200 行和 5 个工作表(.xlsx 文件没有此限制)。

安装命令:

pip install spire.xls.free

商业版:功能完备,但会添加水印。

安装命令:

pip install spire.xls

安装完成后,即可在Python应用程序中调用该库的API。

Python 将 Excel 图表导出为图片

Excel 文件可以包含嵌入的图表(位于工作表内的图表)或图表工作表(独立图表)。以下是使用 Python 导出这两者为图片的方法。

将图表导出为图片

要将 Excel 文件中嵌入的图表保存或导出为图片,参考以下步骤:

  • 初始化 Workbook 类的对象,并使用 LoadFromFile() 方法加载 Excel 文件。
  • 通过Workbook.Worksheets集合遍历工作簿中的工作表。
  • 通过Worksheet.Charts集合遍历当前工作表中的图表。
  • 使用 Chart.SaveToImage() 方法将每个图表保存为图片对象。
  • 将图片对象保存为指定格式的图片文件(例如,PNG、JPEG)。

实现代码

from spire.xls import *
 
def save_charts_as_images(excel_file, output_directory):
    """
    将指定的 Excel 文件中的所有图表导出为图片,并保存到指定的输出目录。
    参数:
        excel_file (str): 包含图表的 Excel 文件路径。
        output_directory (str): 图片保存的目标目录路径。
    """
    workbook = Workbook()
    workbook.LoadFromFile(excel_file)
 
    for sheet_index in range(workbook.Worksheets.Count):
        sheet = workbook.Worksheets[sheet_index]
 
        for i, chart in enumerate(sheet.Charts):
            image = chart.SaveToImage()           
            image_path = f"{output_directory}/{sheet.Name}_图表_{i}.png"             
            image.Save(image_path)           
    
    workbook.Dispose()
 
# 用法示例
save_charts_as_images("示例.xlsx", "输出目录")

将图表工作表导出为图片

如果需要将Excel中的图表工作表(独立图表)转换为图片,可以参考以下步骤:

  • 初始化 Workbook 类的对象,并使用 LoadFromFile() 方法加载 Excel 文件。
  • 通过Workbook.Chartsheets集合遍历 Workbook 对象中的图表工作表。
  • 使用 Workbook 对象的 SaveChartAsImage() 方法将每个图表工作表保存为图片对象。
  • 将图片对象保存为指定格式的图片文件(例如,PNG、JPEG)。

实现代码

from spire.xls import *
 
def save_chart_sheets_as_images(excel_file, output_directory):
    """
    将指定的 Excel 文件中的所有图表工作表导出为图片,并保存到指定的输出目录。
    参数:
        excel_file (str): 包含图表工作表的 Excel 文件路径。
        output_directory (str): 图片保存的目标目录路径。
    """
    workbook = Workbook()
    workbook.LoadFromFile(excel_file)
 
    for i, chart_sheet in enumerate(workbook.Chartsheets):
        image = workbook.SaveChartAsImage(chart_sheet)        
        image_path = f"{output_directory}/图表工作表_{i}.png"         
        image.Save(image_path)
 
    workbook.Dispose()
 
# 用法示例
save_chart_sheets_as_images("示例.xlsx", "输出目录")

Python 将 Excel 中的形状和其他元素导出为图片

除了图片以外,你还可以将多种 Excel 元素,如几何形状、形状组合、文本框、复选框、列表框、组合框和单选按钮等,导出为图片。具体步骤如下:

  • 初始化 Workbook 类的对象,并使用 LoadFromFile() 方法加载 Excel 文件。
  • 遍历工作簿中的工作表。
  • 遍历当前工作表中的指定形状或元素类型。
  • 使用 SaveToImage() 方法将每个形状或元素保存为图片对象。
  • 将图片对象保存为指定格式的图片文件(例如,PNG、JPEG)。

实现代码

以下代码展示了如何将Excel工作表中的几何形状导出为图片:

from spire.xls import *
 
def save_geometric_shapes_as_images(excel_file, output_directory):
    """
    将指定的 Excel 文件中的所有几何形状导出为图片,并保存到指定的输出目录。
    参数:
        excel_file (str): 包含几何形状的 Excel 文件路径。
        output_directory (str): 图片保存的目标目录路径。
    """
    workbook = Workbook()
    workbook.LoadFromFile(excel_file)
 
    for sheet_index in range(workbook.Worksheets.Count):
        sheet = workbook.Worksheets[sheet_index]
 
        for i, shape in enumerate(sheet.PrstGeomShapes):
            image = shape.SaveToImage()            
            image_path = f"{output_directory}/{sheet.Name}_几何形状_{i}.png"           
            image.Save(image_path)
 
    workbook.Dispose()
 
# 用法示例
save_geometric_shapes_as_images("示例.xlsx", "输出目录")

以下代码展示了如何将Excel 文件中的文本框保存为图片:

from spire.xls import *
 
def save_textboxes_as_images(excel_file, output_directory):
    """
    将指定的 Excel 文件中的所有文本框导出为图片,并保存到指定的输出目录。
    参数:
        excel_file (str): 包含文本框的 Excel 文件路径。
        output_directory (str): 图片保存的目标目录路径。
    """
    workbook = Workbook()
    workbook.LoadFromFile(excel_file)
 
    for sheet_index in range(workbook.Worksheets.Count):
        sheet = workbook.Worksheets[sheet_index]
 
        for i, shape in enumerate(sheet.TextBoxes):
            image = shape.SaveToImage()            
            image_path = f"{output_directory}/{sheet.Name}_文本框_{i}.png"          
            image.Save(image_path)
 
    workbook.Dispose()
 
# 用法示例
save_textboxes_as_images("示例.xlsx", "输出目录")

到此这篇关于Python实现将Excel中图表形状等内容导出为图片的文章就介绍到这了,更多相关Python Excel内容导出为图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python np.where()的详解以及代码应用

    Python np.where()的详解以及代码应用

    numpy里有一个非常神奇的函数叫做np.where()函数,下面这篇文章主要给大家介绍了关于Python np.where()的详解以及代码应用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Django实现发送邮件功能

    Django实现发送邮件功能

    这篇文章主要介绍了Django实现发送邮件功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • pytest+allure环境搭建+自动化实践过程

    pytest+allure环境搭建+自动化实践过程

    这篇文章主要介绍了pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • django-crontab 定时执行任务方法的实现

    django-crontab 定时执行任务方法的实现

    这篇文章主要介绍了django-crontab 定时执行任务方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解

    Python GUI编程之tkinter 关于 ttkbootstrap 的使用

    ttkbootstrap 是一个基于 tkinter 的界面美化库,使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序,这篇文章主要介绍了Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解,需要的朋友可以参考下
    2022-03-03
  • 用python实现爬取奥特曼图片实例

    用python实现爬取奥特曼图片实例

    大家好,本篇文章主要讲的是用python实现爬取奥特曼图片实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python爬虫数据的分类及json数据使用小结

    Python爬虫数据的分类及json数据使用小结

    这篇文章主要介绍了Python爬虫数据的分类及json数据使用小结,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • torch.utils.data.DataLoader与迭代器转换操作

    torch.utils.data.DataLoader与迭代器转换操作

    这篇文章主要介绍了torch.utils.data.DataLoader与迭代器转换操作,文章内容接受非常详细,对正在学习或工作的你有一定的帮助,需要的朋友可以参考一下
    2022-02-02
  • python实现排序算法解析

    python实现排序算法解析

    这篇文章主要为大家详细介绍了python实现排序算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python为什么会环境变量设置不成功

    python为什么会环境变量设置不成功

    在本篇文章里小编给大家分享的是一篇关于python环境变量设置不成功怎么办的解决方法内容,有兴趣的朋友们可以跟着学习下。
    2020-06-06

最新评论