我们常常使用 Excel 中的图表和形状来直观地展示数据和信息,以增强数据的可读性和理解性。然而,在某些情况下,我们需要将这些图表和形状转换为图片,以便在其他文档、演示文稿或网页中使用。在这篇文章中,我们将介绍如何使用 Spire.XLS for Python 和 Python 将 Excel 中的图表和形状转换为图片。
- Python 将 Excel 工作表中的特定图表转换为图片
- Python 将 Excel 工作表中的所有图表转换为图片
- Python 将 Excel 中的图表工作表转换为图片
- Python 将 Excel 中的形状转换为图片
安装 Spire.XLS for Python
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 将 Excel 工作表中的特定图表转换为图片
你可以使用 Spire.XLS for Python 提供的 Workbook.SaveChartAsImage(worksheet: Worksheet, chartIndex: int) 方法将工作表中的特定图表转换为图片流。之后,你可以将此图片流保存为 PNG、JPG、BMP 等多种格式的图片文件。详细步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取文件中的特定工作表。
- 使用 Workbook.SaveChartAsImage(worksheet: Worksheet, chartIndex: int) 方法将工作表中的特定图表保存为图片流。
- 使用 Stream.Save() 方法将图片流保存为图片文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 将工作表中的第一个图表保存为图片流
image_stream = workbook.SaveChartAsImage(sheet, 0)
# 将图片流保存为 PNG 图片文件
image_stream.Save("Output/图表.png")
workbook.Dispose()
Python 将 Excel 工作表中的所有图表转换为图片
要将 Excel 工作表中的所有图表转换为图片,可以使用 Workbook.SaveChartAsImage(worksheet: Worksheet) 方法。详细步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取文件中的特定工作表。
- 使用 Workbook.SaveChartAsImage(worksheet: Worksheet) 方法将工作表中的所有图表保存为图片流列表。
- 遍历列表,将每个图片流保存为单独的图片文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 将工作表中的图表保存为图片流列表
image_streams = workbook.SaveChartAsImage(sheet)
# 将列表中的每个图片流保存为 PNG 图片文件
for i, image_stream in enumerate(image_streams):
image_stream.Save(f"Output/图表-{i}.png")
workbook.Dispose()
Python 将 Excel 中的图表工作表转换为图片
在 Microsoft Excel 中,图表工作表是一种专门用于显示单个图表的特殊工作表。你可以使用 Workbook.SaveChartAsImage(chartSheet: ChartSheet) 方法将 Excel 工作簿中的特定图表工作表转换为图片。详细步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Chartsheets[] 属性获取文件中的特定图表工作表。
- 使用 Workbook.SaveChartAsImage(chartSheet: ChartSheet) 方法将图表工作表保存为图片流。
- 将图片流保存为图片文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("图表工作表.xlsx")
# 获取第一个图表工作表
chart_sheet = workbook.Chartsheets[0]
# 将图表工作表保存为图片流
image_stream = workbook.SaveChartAsImage(chart_sheet)
# 将图片流保存为 PNG 图片文件
image_stream.Save("Output/图表工作表.png")
workbook.Dispose()
Python 将 Excel 中的形状转换为图片
除了将图表或图表工作表转换为图片,你还可以使用 XlsShape.SaveToImage() 方法将 Excel 工作表中的形状转换为图片。详细步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取文件中的特定工作表。
- 遍历工作表中的所有形状。
- 将形状类型转换为 XlsShape 对象。
- 使用 XlsShape.SaveToImage() 方法将形状保存为图片流。
- 将图片流保存为图片文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("形状.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 遍历工作表中的所有形状
for i, shape in enumerate(sheet.PrstGeomShapes):
xls_shape = XlsShape(shape)
# 将形状保存为图片流
image_stream = shape.SaveToImage()
# 将图片流保存为 PNG 图片文件
image_stream.Save(f"Output/形状_{i}.png")
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。