xlwings:复制范围并另存为图像
xlwings: copy range and save as an image
我有一个 excel table,我正在通过 xlwings 使用 python 逻辑构建它。计算后,我想复制 table (即它的范围)并将其保存为图像(格式类似于 select 范围 -> 复制 -> 右键单击 -> 粘贴为图片)。最终目标是使用 pptx 在 powerpoint 演示文稿中包含 table
这可能吗?
我发现最好的解决方案是将 excel 范围嵌入到 powerpoint 演示文稿中。
复制您的 excel 范围,转到功能区并单击 'Paste'、'Paste Special'、'Paste Link'
下的三角形
这将自动反映演示文稿中的更改
执行此操作的方法有点老套,必须有更简洁的方法,但这是我发现对我有用的方法。下面的答案假设您在单元格 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
我有一个 excel table,我正在通过 xlwings 使用 python 逻辑构建它。计算后,我想复制 table (即它的范围)并将其保存为图像(格式类似于 select 范围 -> 复制 -> 右键单击 -> 粘贴为图片)。最终目标是使用 pptx 在 powerpoint 演示文稿中包含 table
这可能吗?
我发现最好的解决方案是将 excel 范围嵌入到 powerpoint 演示文稿中。
复制您的 excel 范围,转到功能区并单击 'Paste'、'Paste Special'、'Paste Link'
下的三角形这将自动反映演示文稿中的更改
执行此操作的方法有点老套,必须有更简洁的方法,但这是我发现对我有用的方法。下面的答案假设您在单元格 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