我认为这是不可能的
win32com
. 展望
Attachments.Add
method
需要文件或Outlook项目作为
Source
参数:
附件的源。这可以是文件(由具有文件名的完整文件系统路径表示)或构成附件的Outlook项。
以及
pandas.ExcelWriter
还需要
path
although this other similar question (and answer)
建议通过包装
ExcelWriter
在一个
BytesIO
通过电子邮件发送,而不是通过Outlook发送:
def export_excel(df):
with io.BytesIO() as buffer:
writer = pd.ExcelWriter(buffer)
df.to_excel(writer)
writer.save()
return buffer.getvalue()
但这似乎不适用于Outlook API(刚刚测试过):
>>> attachment = export_excel(df)
>>> mail.Attachments.Add(attachment)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<COMObject <unknown>>", line 3, in Add
pywintypes.com_error: (-2147024809, 'The parameter is incorrect.', None, None)