• 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图片流,之后我们再将图片流保存到文件,即可实现提取图表并保存为图像的操作。
    以下是操作步骤:

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

    代码示例

    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图表为图片

    用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工作簿中的图表批量保存为图片。

    更多Excel文件操作技巧请前往Spire.XLS for Python教程查看。

  • 相关阅读:
    制作翻页电子相册,这个工具你必须了解!
    Redis设计与实现(六)| 集群(分片)
    实践数据湖iceberg 第三十九课 清理快照前后数据文件变化分析
    day45
    pyinstaller打包完整python项目
    介绍适用于 Node.js 的 Elastic OpenTelemetry 发行版
    C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
    jmeter下载安装教程
    【正点原子STM32连载】 第四十二章 IIC实验 摘自【正点原子】APM32F407最小系统板使用指南
    RDD算子操作(基本算子和常见算子)
  • 原文地址:https://blog.csdn.net/Eiceblue/article/details/139747985