第一部分:先看成果

Talk is cheap show me the code!(我来翻译一哈:不bb上代码)

import os
os.chdir('D:\\python_major\\auto_office14')
import datetime
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt, RGBColor
from docx.oxml.ns import qndoc = Document()
heading_1 = '请 假 条'
paragraph_1 = doc.add_heading(heading_1, level = 1)
paragraph_1.alignment = WD_ALIGN_PARAGRAPH.CENTERgreeting_word = '尊敬的领导:'
paragraph_2 = doc.add_paragraph(greeting_word)name = input("请输入请假人姓名:")
division = input("请输入所属部门:")
reason = input("请输入请假事由:")
day = input('请输入请假天数:')
detailed_time = input("请输入请假的具体时间:")word_1 = "    本人"
word_2 = ",所在部门"
word_3 = ",由于"
word_4 = ",需请假"
word_5 = "天,请假的具体时间为"
word_6 = "。"paragraph_3 = doc.add_paragraph()
paragraph_3.add_run(word_1)
paragraph_3.add_run("{0: ^{1}}".format(name,len(name) + 6)).underline = True
paragraph_3.add_run(word_2)
paragraph_3.add_run("{0: ^{1}}".format(division,len(division) + 6)).underline = True
paragraph_3.add_run(word_3)
paragraph_3.add_run("{0: ^{1}}".format(reason,len(reason) + 6)).underline = True
paragraph_3.add_run(word_4)
paragraph_3.add_run("{0: ^{1}}".format(day,len(day) + 6)).underline = True
paragraph_3.add_run(word_5)
paragraph_3.add_run("{0: ^{1}}".format(detailed_time,len(detailed_time) + 6)).underline = True
paragraph_3.add_run(word_6)
paragraph_3.paragraph_format.line_spacing = 1.5word_7 = '申请人:'
paragraph_4 = doc.add_paragraph()
paragraph_4.add_run(word_7)
paragraph_4.add_run("{0: ^{1}}".format(name,len(name) + 6)).underline = True
paragraph_4.alignment = WD_ALIGN_PARAGRAPH.RIGHTword_8 = '日期:'
today_year = datetime.datetime.today().year
today_month = datetime.datetime.today().month
today_day = datetime.datetime.today().day
sign_date = "{}年{}月{}日".format(today_year,today_month,today_day)paragraph_5 = doc.add_paragraph()
paragraph_5.add_run(word_8)
paragraph_5.add_run("{0: ^{1}}".format(sign_date,len(sign_date) + 6)).underline = True
paragraph_5.alignment = WD_ALIGN_PARAGRAPH.RIGHTfor paragraph in doc.paragraphs:for run in paragraph.runs:run.font.color.rgb = RGBColor(0,0,0)run.font.name = '微软雅黑'r = run._element.rPr.rFontsr.set(qn('w:eastAsia'),'微软雅黑')doc.save("{}-请假条.docx".format(name))print("-"*30)
print("\n{}的请假条已经生成\n\n文件位置在:{}\n\n文件名称为:{}-请假条.docx".format(name,os.getcwd(),name))

至此利用python自动生成请假条的代码就全部执行完毕,应用的难点在于输入文字下划线的显示问题,如果直接对输入的文字加下划线,会显得很挤,如果单纯使用format()方法,生成的只用两侧下划线看上去很别扭,因此最终采取的方式是将两者结合,解决了输入字符下划线显示的问题,当然最后还有中文字符显示的问题

执行效果:


此处参考文档一:https://blog.csdn.net/lys_828/article/details/104116255
此处参考文档二:https://blog.csdn.net/weixin_42750611/article/details/108351309?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

此处参考文档三:https://blog.csdn.net/zx77588023/article/details/105895841?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control

第二部分:看过程,踩过的坑

遇到报错:

ImportError: No module named 'exceptions'

(遇到问题不要慌,先拿出手机,发个盆友圈=v=/)

遇到这个问题的原因是:缺少python-docx这个包 需要安装

具体解决方法可参考
https://blog.csdn.net/jiangjieqazwsx/article/details/80326214
需要注意的是
1.在下面
https://www.lfd.uci.edu/~gohlke/pythonlibs/

这个网站中下载的docx是红色字体这个,不是链接里面那个(反正我找不到)
(ps:链接里面的那个是这个
python_docx-0.8.6-py2.py3-none-any.whl
不出意外的话应该是找不到,你可以用这个好像是最新的作用是一样的python_docx‑0.8.10‑py2.py3‑none‑any.whl)

(Ctrl+F快速查找)
2.需要注意安装路径(不然cmd加载不出来,因为有些浏览器下载路径与cmd路径不在同个地方)
此处解决报错“ImportError: No module named ‘exceptions’”参考文档:
参考四:https://blog.csdn.net/print_lucien/article/details/105840951
参考五:https://blog.csdn.net/jiangjieqazwsx/article/details/80326214

用pip安装下来如果你不清楚下载后来路径肿么办,或者不太熟悉pip m命令可以参考这几篇文章

注意:要先用pip uninstall python-docx把原来的包删掉如果原来有的话

pip install 包名 -t 路径

参考六:https://blog.csdn.net/huijiaaa1/article/details/80616842
参考七:https://blog.csdn.net/weixin_45932759/article/details/105358175?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control

利用python向word文档模板中写入内容相关推荐

  1. Python3-word文档操作(三):利用python修改word文档的内容

    前两篇博文中,学习了是用python的docx库创建一个word文档,并且编辑了标题和正文,以及利用python来获取word文档的内容.本篇学习利用python修改word文档的内容. 修改word ...

  2. Python3-word文档操作(五):利用python修改word文档中的表格数据

    1. 简介: 本篇继续学习python操作word文档的相关知识.本篇主要学习: 1)如何获取一个已经存在文档中的表格的内容: 2)如何修改一个已经存在文档中的表格的内容: 2. 获取word文档中的 ...

  3. 利用python操作word文档

    总目录:Python数据分析整理 本文代码参考自官方文档: python-docx 使用的库下载方式为:pip install python-docx 注意!! 不是:pip install docx ...

  4. 利用Python实现word文档合并

    实现步骤: 1.安装依赖 pip install docx pip install docxcompose pip install pyinstaller // 将py文件打包成exe文件的库 2.编 ...

  5. Python3-word文档操作(二):利用python获取word文档的内容

    上一篇,学习了是用python的docx库创建一个word文档,并且编辑了标题和正文.本篇继续python操作word之旅:利用python来获取word文档的内容. python脚本: # -*- ...

  6. Python3-word文档操作(一):利用python创建word文档,并且设置标题和正文的内容,设置字体样式

    本篇主要说明了如何利用docx库来进行word文档的创建,并且设置标题和正文的内容,以及字体大小. 一,效果图 苏轼的<念奴娇·赤壁怀古>,创作后的word文档内容如下图: ,其中,标题和 ...

  7. python操作word文件_利用PYTHON操作WORD文档

    office 2007 中不能直接打开 VB 编辑器,请按 Alt + F11 打开. import win32com.client # 导入脚本模块 WordApp = win32com.clien ...

  8. python 一个word文档的某页内容复制到另一个word文档的第二页

    首先,需要使用 python-docx 库来读取和操作 word 文档.具体实现方法如下: 安装 python-docx 库:在终端中运行 pip install python-docx 安装. 导入 ...

  9. 【python自动化办公(14)】利用python向Word文档中写入内容(format格式化中槽的使用和自动生成请假条小应用)

    添加文字内容 添加一级标题 doc.add_heading('标题名称', level = 标题等级) import os os.chdir('D:\\python_major\\auto_offic ...

最新文章

  1. Facebook AI新架构:全景FPN,同时完成图像实例与语义分割 | 极客头条
  2. 【操作系统原理及Linux实践】 四cpu调度scheduling
  3. VMware Workstation提示:另一个程序已锁定文件的一部分,进程无法访问,删除.lck文件夹和文件
  4. 一个简单的因数分解java代码
  5. Python脱产8期 Day09 2019/4/23
  6. 数据传输完整性_生产系统数据完整性事件常见指标(下)
  7. 【知识图谱】知识图谱概论
  8. 【slighttpd】基于lighttpd架构的Server项目实战(7)—http-parser
  9. debian php安装pdo扩展,docker安装PHP扩展2020-05-25
  10. php分页函数代码,PHP分页函数代码分享
  11. OpenShift 4 - 定制 RHCOS Linux的Kernal参数
  12. atmega328p引脚图_【ATMEGA328P-PU PDF数据手册】_中文资料_引脚图及功能_(爱特美尔 ATMEL)-采芯网...
  13. 餐饮水单打印软件_除了进销存,管家婆软件能做的很多!
  14. 几百万数据量的Excel导出会内存溢出和卡顿?那是你没用对方法!
  15. 3G技术演进策略(cdma2000,UMTS)
  16. Win32创建菜单篇
  17. 三维主成分图matlab,PCA主成分分析之三维演示(Matlab)
  18. linux mysql 邮件_linux中mysql 自动备份发邮件 到指定邮箱代码
  19. Idea在Maven项目中使用支付宝沙箱环境
  20. 开设生物医学工程的高校(按区域划分)

热门文章

  1. IDEA DEBUG 启动慢,启动卡死,本地IDEA环境,千万千万不要在方法上打断点!太坑了!
  2. 一招搞定GitHub下载加速
  3. 某网站安全检测之数据库手工注入
  4. oracle创建导入数据库,unix下手动创建oracle以及imp数据导入
  5. golang https服务
  6. linux替换倒数第二个字符,sed – 替换文件倒数第二行的“模式”
  7. OpenGrok使用
  8. 医惠护理系统服务器错误,医惠移动护理信息系统标准接口文档
  9. 策略模式及简单Java案例代码实现
  10. 百度 阿里 华为 腾讯 谷歌面试笔试题及解析