前提・実現したいこと
Pythonでエクセルを作成し、Outlookで自動送信するプログラムを作成しています。
作成したエクセルファイルを添付して送信できたのですが、受信した人が確認する際に添付ファイルを開ける手間があるため、
メール本文にエクセルの表をそのまま挿入したいです。
pandasでエクセルの表からリストを作成し挿入したのですが、表のようにきれいに表示できませんでした。
メール送信の部分のコードとメールの本文、完成のイメージを載せます。
よろしくお願いいたします。
該当のソースコード
Python
1import win32com.client 2import pandas as pd 3 4# Excelからリストを作成 5last = 3 6df =pd.read_excel("売上_テスト.xlsx") 7df_hyou = df.iloc[0:last,0:3] 8 9#メールの送信 10outlook = win32com.client.Dispatch('Outlook.Application') 11mymail = outlook.CreateItem(0) 12mymail.BodyFormat = 1 13mymail.To = 'test@yahoo.co.jp' 14mymail.Subject = f'テストメール' 15mymail.Body = f'''Aさん 16 17昨日の売上です。 18 19{df_hyou} 20 21よろしくお願いいたします。 22'''+ '\n' 23 24path = r"C:\Users\user\Desktop\売上_テスト.xlsx" 25mymail.Attachments.Add (path) 26mymail.Send()
プログラムから作成されたメール本文
Aさん
昨日の売上です。
商品 個数 金額
0 シャープペンシル 50 5000
1 消しゴム 10 700
2 定規 15 1650
よろしくお願いいたします。
完成のイメージ
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/19 02:34