簡體   English   中英

如何使用python復制Excel工作表的內容並將其粘貼到電子郵件正文中(不作為附件)。

[英]how to copy the contents of an excel sheet and paste it in the body of an email.(Not as an attachment) using Python

我正在編寫一個Python腳本來發送電子郵件。 現在它正在發送一個excel文件作為附件,但是我想發送包含excel文件內容的正文的電子郵件。 就像用顏色,格式等復制excel文件的內容,然后將其粘貼到電子郵件正文中。

import win32com.client
from openpyxl import load_workbook 
import pandas as pd 
o = win32com.client.Dispatch("Outlook.Application") 
Msg = o.CreateItem(0)

Msg.To = "abc@gmail.com"

Msg.CC = "xyz@gmail.com" 
Msg.BodyFormat = 2 
Msg.HTMLBody = """
<html>
<body>
   <p>Hello All,<br>
       <br>
       Test HTML mail body from Python
    </p>
  </body>
</html>"""
Msg.Subject = "Automation Test" 
attachment1 = "D:\Demo.xlsx" 
Msg.Attachments.Add(attachment1) 
Msg.Send()

這段代碼可以正常工作,但是我無法弄清楚如何將excel的內容直接添加到電子郵件正文中。

您應該能夠將excel文件轉換為HTML表,然后將其包含在電子郵件中,如下所示(如果您進行復制和粘貼,因為我尚未定義convert_to_html()函數,將無法使用):

wb = load_workbook(filename = 'D:\Demo.xlsx')
html_table = convert_to_html(wb)

Msg.HTMLBody = """
<html>
<body>
   <p>Hello All,<br>
       <br>
       Test HTML mail body from Python
    </p>""" + html_table + """
  </body>
</html>"""

是某人使用python將excel文件轉換為HTML表的一些代碼。 我還沒有仔細檢查過它,但是似乎您應該可以使用它來制作convert_to_html()函數,或者以其他方式使其適應您的目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM