xlwings:复制范围并另存为图像

时间:2018-05-02 14:14:32

标签: xlwings python-pptx

我有一个excel表,我正在使用python逻辑通过xlwings构建。计算完毕后,我想复制该表(即其范围)并将其保存为图像(类似于选择范围的格式 - > copy - > 右键单击 - > 粘贴为图像)。最终目标是使用pptx将表包含在powerpoint演示文稿中

这可能吗?

2 个答案:

答案 0 :(得分:0)

我发现最好的解决方案是将excel范围嵌入到powerpoint演示中。

复制您的Excel范围,转到功能区并单击“粘贴”,“选择性粘贴”,“粘贴链接”下的三角形

这将自动反映演示文稿中的更改

答案 1 :(得分:0)

做到这一点的方法有点古怪,而且必须有一种更清洁的方法,但这是我发现的最适合我的方法。下面的答案假定您在单元格A1到B3中有数据,但是您可以针对特定范围进行调整。

import xlwings as xw
sht.range('A1:B3').api.CopyPicture(Appearance=2) #2 copies as when it is printed
sht.api.Paste()
pic=sht.pictures[0]
pic.api.Copy()

from PIL import ImageGrab
img = ImageGrab.grabclipboard()
img.save('test.png') #You can obviously save this as whatever filename you want