P22 - 批量把图片和表格写入Word - 图1 P22 - 批量把图片和表格写入Word - 图2 P22 - 批量把图片和表格写入Word - 图3 P22 - 批量把图片和表格写入Word - 图4

你好,我是UP:法学院毕业的Python程序员兆锋(点击查看🏆近期的付费答疑记录)
如有学习问题,欢迎加入学习群和我交流❤交流群

下面是本讲课程的视频、代码和配套文档:

主要内容

视频内容

点击下方链接,直达本讲视频
点击查看【bilibili】

本讲代码

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2020/8/20 18:49
  3. # @公众号 :Python自动化办公社区
  4. # @File : img_table.py
  5. # @Software: PyCharm
  6. # @Description:
  7. from docx import Document
  8. from docx.enum.text import WD_ALIGN_PARAGRAPH
  9. from docx.shared import Pt
  10. from docx.oxml.ns import qn
  11. from docx.shared import Inches
  12. import time
  13. price = input('请输入工资调整金额:')
  14. company_list = ['员工1', '员工1', '员工2', '员工3', '员工4', '员工5', '员工6', '员工7', '员工8', '员工9', '员工10', ]
  15. today = time.strftime("%Y{y}%m{m}%d{d}", time.localtime()).format(y='年', m='月', d='日')
  16. for i in company_list:
  17. document = Document()
  18. # 设置文档的基础字体
  19. document.styles['Normal'].font.name = u'宋体'
  20. document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  21. # 红头文件
  22. document.add_picture('title002.jpg', width=Inches(6))
  23. # 建立一个自然段
  24. p1 = document.add_paragraph()
  25. # 对齐方式为居中,没有这句的话默认左对齐
  26. p1.alignment = WD_ALIGN_PARAGRAPH.CENTER
  27. run1 = p1.add_run('关于%s工资调整的通知' % (today))
  28. run1.font.name = '微软雅黑'
  29. run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
  30. run1.font.size = Pt(21)
  31. run1.font.bold = True
  32. p1.space_after = Pt(5)
  33. p1.space_before = Pt(5)
  34. p2 = document.add_paragraph()
  35. run2 = p2.add_run(i + ':')
  36. run2.font.name = '宋体'
  37. run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  38. run2.font.size = Pt(16)
  39. run2.font.bold = True
  40. p3 = document.add_paragraph()
  41. run3 = p3.add_run('因为疫情影响,我们很抱歉的通知您,您的工资调整为每月%s元,特此通知。' % price)
  42. run3.font.name = '宋体'
  43. run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  44. run3.font.size = Pt(14)
  45. table = document.add_table(rows=2, cols=2, style='Table Grid')
  46. # 合并单元格
  47. table.cell(0, 0).merge(table.cell(0, 1))
  48. table_run1 = table.cell(0, 0).paragraphs[0].add_run('签名栏')
  49. table_run1.font.name = '黑体'
  50. table_run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体')
  51. table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
  52. table.cell(1, 0).text = i
  53. table.cell(1, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
  54. p4 = document.add_paragraph()
  55. p4.alignment = WD_ALIGN_PARAGRAPH.RIGHT
  56. run4 = p4.add_run('人事:王小姐 电话:686868')
  57. run4.font.name = '宋体'
  58. run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  59. run4.font.size = Pt(14)
  60. run4.font.bold = True
  61. document.save('%s-工资调整通知.docx' % i)

配套文档

title002.jpg

拓展内容

提问与答疑

提供以下3种交流方式:

  • 有任何问题,请加入Python学习群,和我交流~❤交流群
  • 也期待加我好友,我们深入沟通,我的微信:hdylw1024,请务必注明来意,否则很难通过。
  • 或者你也可以直接在本文档的留言板留言,和大家一起讨论~