Python为什么PIL保存excel单元格截图是纯黑色的呀?


# 这个电脑打开就是全黑
#coding:utf-8
import win32com.client as win32
from PIL import ImageGrab

excel = win32.Dispatch('Excel.Application')
excel.Visible = False
excel.DisplayAlerts = False
wb = excel.Workbooks.Open('结果输出-2021-08-24.xls')
ws = wb.Worksheets('统计') 
ws.Range('A1:B7').CopyPicture()
ws.Paste()
pic = ws.pictures[0]
pic.Copy()
img = ImageGrab.grabclipboard()
if img.mode == "P":
    img = img.convert('RGB')
else:
    pass
img.save('pic1.jpeg')


#  如果直接保存png,电脑打开预览是正常的,但发送微信消息图片是全黑的
pic.Copy()
img = ImageGrab.grabclipboard()
img.save('pic1.png')

PIL截图excel单元格,为什么保存后全黑呢?如下图只看到了excel一点点边框
img

首先,如楼上所说,需要先确保你的文件路径是绝对目录,
不过,既然能生成图片文件,你的文件路径应该没有问题。
你上述的情况出现,我分析:
你的excel文件是默认背景,这个背景颜色并不是白色,而是透明色,所以你的图片看起来是黑的。
建议,你更改excel背景色,然后检查单元格区域ws.Range('A1:B7').CopyPicture(),确保这个范围有内容,
之后再运行,应该就没问题了!望采纳

可能是填充的背景颜色问题,我这里有遇到生成的表格用wps打开正常,用微软excel打开就是黑的,手动修改下背景色就可以看到内容了