"""
Excel批量到导出图片
SS
"""
from pymysql import TIME
import win32com.client
import time
from datetime import datetime
from PIL import Image, ImageGrab
import os
import win32gui
from win32gui import *
import win32gui
import win32api
def open_table():
xlapp = win32com.client.Dispatch("excel.Application") # Excel
xlapp = win32com.client.Dispatch("ket.Application") # WPS
xlapp.Visible = 1
xlapp.DisplayAlerts = False
ws = xlapp.ActiveSheet
ws = xlapp.Worksheets('111')
ws1 = xlapp.Worksheets.Add() # 添加 Sheet
xlScreen, xlPrinter = 1, 2
xlPicture, xlBitmap = -4147, 2
for i in range(1,3):
print(i)
range01 = "A"+str(i)
ws.Range(range01).Copy() # 复制单元格
ws1.paste
for aaa in ws1.Shapes:
aaa.ScaleHeight( 1, 1)
aaa.ScaleWidth( 1, 1)
for i11 in range(10):
try:
print(i11)
aaa.CopyPicture(xlScreen, xlBitmap)
break
except Exception as e:
time.sleep(0.5)
print(e)
aaa.Delete()
save_pic(str(i))
clear_clipboard()
def clear_clipboard():
from ctypes import windll
if windll.user32.OpenClipboard(None): # 打开剪切板
windll.user32.EmptyClipboard() # 清空剪切板
windll.user32.CloseClipboard() # 关闭剪切板
def save_pic(filename):
for i in range(10):
try:
# time.sleep(0.3)
# 图片过大,打开剪贴板过快
# OSError: failed to open clipboard
print("获取剪贴板次数:"+str(i))
im = ImageGrab.grabclipboard()
break
except Exception as e:
time.sleep(0.5)
print(e)
a01 = 0
print(im.size)
filepath = r'C:\\Users\\ch\\Downloads\\SA8D9FS8AD90FSAD890F\\'+filename+'.png'
im.save(filepath)
if __name__ == '__main__':
open_table()