我已经用xlwt创建了一个工作簿,现在我想知道我是否可以使用这个工作簿发送电子邮件,但不将工作簿保存在磁盘上。我无法做一个适当的实现,我可以发送它作为一个附件,而不保存在磁盘上暂时。下面是电子邮件作为附件的代码。
file_name = "temp_file_location.xlsx"
book = xlwt.Workbook()
sheet = book.add_sheet("XYZ")
book.save(file_name)
message = EmailMessage(subject="Subject", body="body",
from_email="random@gmail.com",
to=email_list)
message.attach_file(file_name)
message.send()
字符串
这里有一个类似的问题:How to send an email with attachment?
但没有解决方案,我无法发送电子邮件,而不保存在磁盘上暂时。
有什么想法吗?
2条答案
按热度按时间3b6akqbq1#
您可以使用StringIO在内存中写入工作簿:
字符串
取自xlwt write excel sheet on the fly
fnatzsnv2#
StringIO不适用于我(Python 3.9.17和Django 3.2.13),我不得不使用BytesIO:
字符串