如何使用python将excel文件的内容复制粘贴到电子邮件正文中

如何使用python将excel文件的内容复制粘贴到电子邮件正文中,python,excel,smtp,shutil,Python,Excel,Smtp,Shutil,我正在写一个python脚本来发送电子邮件。现在它正在发送一个excel文件作为附件,但是我想发送一封电子邮件,邮件正文包含excel文件的内容。例如复制excel文件的内容,包括颜色、格式等,并将其粘贴到电子邮件正文中。我该怎么做 我的python脚本如下: #!/usr/local/bin/python2.7 import smtplib,email,email.encoders,email.mime.text,email.mime.base from email.mime.multipar

我正在写一个python脚本来发送电子邮件。现在它正在发送一个excel文件作为附件,但是我想发送一封电子邮件,邮件正文包含excel文件的内容。例如复制excel文件的内容,包括颜色、格式等,并将其粘贴到电子邮件正文中。我该怎么做

我的python脚本如下:

#!/usr/local/bin/python2.7
import smtplib,email,email.encoders,email.mime.text,email.mime.base
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email import encoders
from email.message import Message
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time

msg = MIMEMultipart()
# me == my email address
# you == recipient's email address
me = "abc@something.com"
you = "abc@something.com"


# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('mixed')
msg['Subject'] = "Automation Testing"
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text and an HTML version).
text = "Hi\n\nPlease find attached the weekly report."


part1 = MIMEText(text, 'plain')


#attach an excel file:
fp = open('/Users/excel.xlsm', 'rb')
file1=email.mime.base.MIMEBase('application','vnd.ms-excel')
file1.set_payload(fp.read())
fp.close()
email.encoders.encode_base64(file1)
file1.add_header('Content-Disposition','attachment;filename=excelsheet.xlsx')

# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.

msg.attach(part1)
msg.attach(file1)

composed = msg.as_string()

fp = open('msgtest.txt', 'w')
fp.write(composed)

# Credentials (if needed)  
# The actual mail send  
server = smtplib.SMTP('smtp.something.com', 259)  
server.starttls()  
server.sendmail(me, you, composed)  
server.quit()  
fp.close()

可能重复我不认为它是重复的,因为我需要发送excel文件的内容,就像我在excel文件上手动执行Ctrl+a、Ctrl+C和在电子邮件正文上手动执行Ctrl+V时所显示的那样;它看起来更像是整个文件的截图。你想让python将excel文档的图像(截图)插入到你的电子邮件正文中吗?使用,然后在html中嵌入
:只有在不需要手动打开文件以拍摄屏幕截图的情况下,这才有效。我主要想知道如何使用python将excel工作表的所有内容及其格式、颜色等复制到电子邮件正文中