【项目作业】办公自动化
项目作业 640
等22人参与
来源: 第4周 / Python办公自动化

亲爱的慕友们,经过这一阶段的学习,大家已经掌握了用 Python 管理文件、操作 Word、Excel、PPT,并且发送邮件等知识,接下来让我们动手实践一下吧

题目要求如下:近期公司部分产品有特价活动,需将特价活动的商品以附件的形式发送至销售人员的邮箱中

1、使用 Python 的 xlrd 模块读取 Excel中 的销售人员数据(sales.xlsx)和特价活动商品数据(product.xlsx)
图片描述
活动商品 product.xlsx 数据如下
图片描述

2、将特价活动商品的数据以邮件附件的形式发送到销售邮箱中
接收邮件效果图:
图片描述

附件名称为"产品更价明细.docx",内容如下:
图片描述

作业描述

一、开发语言与环境要求
1、语言版本:Python3
2、开发工具:PyCharm

二、程序整体要求
1、完成需求中所涉及到的所有功能
2、要求 Python 代码书写、命名符合规范,在代码中添加必要的注释
3、代码结构要层次分明,代码编辑思路要清晰、整洁
4、 将作业项目形成压缩文件并提交

三、详细设计
1、自定义读取 Excel 数据的函数,读取工资表 sales.xlsx、product.xlsx,将读到的数据作为函数的返回值
2、自定义特价商品函数,实现 Word 文档的写入以及样式设置
(1)需要使用的模块如下:

from docx import Document
from docx.enum.style import WD_STYLE_TYPE
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT, WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.enum.table import WD_TABLE_ALIGNMENT

(2)特价商品字体设置为微软雅黑,字体大小11像素
特别注意:涉及操作系统和 Office 版本等因素,如果中文字体不生效,需要借助style.element.rPr.rFonts.set(qn(‘w:eastAsia’), u’微软雅黑’)使之生效

doc = Document()
# 设置字体和大小
style = doc.styles['Normal']
style.font.name = '微软雅黑'
style.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')  # 中文字体
style.font.size = Pt(11)

(3)邮件名称为"产品更价通知",附件文档名称为"产品更价明细",内容标题名为"产品更价明细",标题居中,字体为微软雅黑,加粗

# 设置标题样式
title = doc.add_heading("", 0)
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
_t = title.add_run('产品更价明细')
_t.font.name = '微软雅黑'
_t._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
_t.bold = True

(4)表格样式可以使用 style='Light List Accent 5'

3、自定义邮件发送函数,将邮件发送至销售人员邮箱中,邮箱地址来自销售 sales.xlsx 中(email数据需要自行修改)
(1)产品更价明细作为邮件附件,注意:当附件名为中文时写法有如下区别

attr = MIMEText(open('产品更价明细.docx', 'rb').read(), 'base64', 'utf-8')
attr['Content-Type'] = 'application/octet-stream'

# 附件名称为中文时的写法
attr.add_header("Content-Disposition", "attachment", filename=("gbk", "", "产品更价明细.docx"))

# 附件名称非中文时的写法
# attr["Content-Disposition"] = 'attachment; filename="salary.docx")'

(2)邮件正文内容可使用 HTML 格式,写法参考以下格式(HTML 语法及样式设置后面的课程有详细讲解)

msg_content = """
    <p style="font-weight:bold;">亲爱的
    """ + receiver_name + """
    :</p>
    <p style="text-indent:2em;">9月、10月特价商品已出,请对附件中的商品进行价格更新</p>
    <p style="text-indent:2em;">注:特价商品活动日期结束,请立即改回原价</p>
    <p style="text-indent:2em;">如有异议请联系产品活动开发部。</p>
 
    <br /><br /><br />
    <p style="text-align:right;">产品活动开发部<br />2023年7月11日</p>
    """
    message.attach(MIMEText(msg_content, 'html', 'utf-8'))
评分标准是什么?

一、项目规范 【15分】
1、作业的文件名为"main.py",用到的变量都要保证命名规范
2、代码结构要层次分明
3、Python代码规范及添加适量注释

二、程序整体运行效果【10分】
程序满足效果图要求

三、定义函数【30分】
1、自定义读取Excel数据函数
2、自定义写入特价商品信息至word的函数
3、自定义发送邮件函数

四、邮件名称、附件名称与要求一致【10分】
五、邮件内容格式与要求一致【10分】
六、邮件附件数据完整【10分】
七、使用循环逐一向销售人员发送邮件【10分】
八、自定义读取Excel数据函数有返回值【5分】

作业素材
下载素材

作业素材仅供学习与参考,请按要求完成作业

项目作业上传说明
第1步:上传你的作业压缩包
第2步:等待讲师一对一批复
第3步:查看讲师点评
上传作业

登录后查看更多作业,立即

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师