通过Python发送excel中的表格和文字给微信群或好友(微信助手)
网上找了很多资料,但是要生成自己能用的还是蛮麻烦的,碰到了很多坑
import datetime
#获得昨天的日期,并把名字改成0901这样的格式
def getYesterday():
today = datetime.date.today()
oneday = datetime.timedelta(days = 1)
yesterday = today - oneday
date_yes = yesterday.strftime("%m%d")
return date_yes
#获得日报的标准名称
ribao_name = '【基础经营-实体1】:“乘风破浪”百日冲刺报表'+getYesterday()+'.xlsx'
path = 'C:\\Users\\Administrator\\Desktop\\'
excel_path = path + ribao_name
#把报表中的需要通报的内容导出为图片
from win32com.client import Dispatch
xl=Dispatch('Excel.Application')
xl.Visible=False
wb=xl.Workbooks.Open(excel_path)
ws=wb.Sheets('群通报')
rng1=ws.Range("A1:R18")
rng1.CopyPicture()
c=ws.ChartObjects().Add(0,0,rng1.Width,rng1.Height).Chart
c.Parent.Select()
c.paste()
c.Export(path + 'store.png', "png")
c.Parent.Delete()
rng2=ws.Range("A20:R34")
rng2.CopyPicture()
d=ws.ChartObjects().Add(0,0,rng2.Width,rng2.Height).Chart
d.Parent.Select()
d.paste()
d.Export(path + 'agent.png', "png")
d.Parent.Delete()
wb.Saved = True#不保存文件
wb.Close()
xl.Quit()
#获取通报的文字内容
import openpyxl
wb = openpyxl.load_workbook(ribao_name)
sheet1 = wb['门店通报']
body = sheet1['A2'].value + '\n\n' + 'Python Test!'
#通过微信把2张图片发到固定的群里
import itchat
itchat.auto_login(hotReload=True)
itchat.get_chatrooms() #如果是发到群里的消息或文件,必须保存群到通讯录才能用
room_store = itchat.search_chatrooms(name = "自营厅店长群")[0]['UserName'] #不能发给自己
room_agent = itchat.search_chatrooms(name = "浦东局专营渠道代理商群")[0]['UserName']
f = "C:\\Users\\Administrator\\Desktop\\store.png" #微信附件必须是英文
g = "C:\\Users\\Administrator\\Desktop\\agent.png"
try:
itchat.send_image(f,toUserName=room_store)
itchat.send_image(g,toUserName=room_agent)
itchat.send(body, toUserName='filehelper')
print("发送成功")
except:
print("发送失败")
#最后把2张图片删除
import os
try:
os.remove(f)
os.remove(g)
print("删除文件成功")
except:
print("删除文件失败")
查看原文 >>