Lazulitecn
2021-08-24 11:45
采纳率: 83.3%
浏览 184
已结题

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • IT_心如止水 2021-08-24 17:39
    最佳回答

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

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题