首页 > 解决方案 > 使用 XlxsWriter 将图表保存为图像 (png/jpg)

问题描述

我正在使用包含一些图表的 XlxsWriter 生成 excel 文件。我想将生成的图表单独保存为图像,以便我可以将它们附加到电子邮件中(作为我发送的 Excel 文件的预览)。我可以使用图表创建 Excel,只是找不到任何方法将图表保存为 XlxsWriter 文档中的图像。

我在 Mac 上这样做,所以不幸的是使用 win32 的解决方案没有帮助。excel2img看起来很有前途,但也要看win32。

示例图表生成如下(借自文档)。它会生成一个带有图表的简单 Excel 文件。我想从此 Excel 导出图表的 png/jpg 格式。

import xlsxwriter

workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()

# Create a new Chart object.
chart = workbook.add_chart({'type': 'column'})

# Write some data to add to plot on the chart.
data = [
    [1, 2, 3, 4, 5],
    [2, 4, 6, 8, 10],
    [3, 6, 9, 12, 15],
]

worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])
worksheet.write_column('C1', data[2])

# Configure the chart. In simplest case we add one or more data series.
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
chart.add_series({'values': '=Sheet1!$C$1:$C$5'})

# Insert the chart into the worksheet.
worksheet.insert_chart('A7', chart)

# TODO How can I get the chart as a png/jpg

workbook.close()

标签: pythonexcelxlsxwriter

解决方案


推荐阅读