python创建word表格_Python批量创建word文档(2)- 加图片和表格

1 '''

2 #python批量创建word文档2,向word文档增加图片和文字3 #图片在文档的最上方4 #价格放在表格里5 #word文档的第二页为广告页面6 '''

7 #导入所需库

8 from docx import Document #word文档处理库

9 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #word文档对齐库

10 from docx.shared import Pt #word文档字体库

11 from docx.oxml.ns import qn #word文档中文字符处理库

12 from docx.shared import Inches #word文档图片大小处理库

13 importtime14 #确定时间

15 today = time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年', m='月', d='日')16 #确定价格

17 price = input('请输入今日价格:')18 #客户列表

19 customer_list = ['客户1','客户2','客户3','客户4','客户5','客户6','客户7','客户8','客户9','客户10']20

21 #开始循环客户列表并创建word文档

22 for i incustomer_list:23 #每次循环新建一个文档

24 document =Document()25 #设置word文档的整体样式

26 document.styles['Normal'].font.name = u"微软雅黑" #设置文档的默认字体

27 document.styles['Normal'].font.size = Pt(14) #设置文档的默认字体大小

28 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑') #设置默认中文字体

29

30 #开始添加图片,并放在文档的最上方,宽度为6inch

31 document.add_picture('D:/banner的路径/banner.jpg', width=Inches(6))32

33 #添加第一自然段

34 p1 =document.add_paragraph()35 #设置第一自然段居中

36 p1.alignment =WD_PARAGRAPH_ALIGNMENT.CENTER37 #向第一自然段添加内容

38 run1 = p1.add_run('关于下达%s产品的价格通知' %(today))39 #设置第一自然段内容的格式

40 run1.font.name = "微软雅黑"

41 run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')42 run1.font.size = Pt(21)43 run1.font.bold =True44 #设置段前段后距离

45 p1.space_after = Pt(5)46 p1.space_before = Pt(5)47

48 #添加第二自然段称呼

49 p2 =document.add_paragraph()50 #设置第二自然段靠左,其实也可以不用设置,默认靠左

51 p2.alignment =WD_PARAGRAPH_ALIGNMENT.LEFT52 #向第二自然段添加内容

53 run2 = p2.add_run("尊敬的:" + i + "," + "您好!")54 #设置第二自然段文字大小,文字加粗,和文字字体

55 run2.font.name = '隶书'

56 run2._element.rPr.rFonts.set(qn('w:eastAsia'), u'隶书')57 run2.font.size = Pt(16)58 run2.font.bold =True59

60 #添加第三自然段,word文档的正文内容

61 p3 =document.add_paragraph()62 #设置第三自然段的格式

63 p3.alignment =WD_PARAGRAPH_ALIGNMENT.LEFT64 #向第三自然段添加内容

65 run3 = p3.add_run('根据公司安排,为提供优质客户服务,我公司将价格通知如下。')66 #设置第三自然段的文字的字体,字体的大小,字体是否加粗

67 run3.font.name = '仿宋_GB2312'

68 run3._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')69 run3.font.bold =True70 run3.font.size = Pt(16)71

72 #添加表格来存储日期,价格和备注,三行三咧,并且第一行要合并

73 table = document.add_table(rows=3, cols=3, style='Table Grid') #初始化一个三行三列的表格,样式为word内置样式'Table Grid

74 #合并第一行的所有单元格

75 table.cell(0, 0).merge(table.cell(0, 2)) #将左上角第1行第1列的单元格合并到右下角第1行第3列的单元格进行合并

76 #向表格写入内容

77 table_run1 = table.cell(0, 0).paragraphs[0].add_run('xx产品价格表') #在单元格第一行第一列(合并后的单元格,也可以输入坐标0,1或者0,2)插入段落并加入文字'xx产品价格表'

78 #设置单元格内容的字体样式

79 table_run1.font.name = '隶书'

80 table_run1._element.rPr.rFonts.set(qn('w:eastAsia'),u'隶书')81 #设置表头居中

82 table.cell(0, 0).paragraphs[0].alignment =WD_PARAGRAPH_ALIGNMENT.CENTER83 #向其他单元格添加内容

84 table.cell(1, 0).text = '日期' #表格的第2行第1列写入'日期'

85 table.cell(1, 1).text = '价格' #表格的第2行第2列写入'价格'

86 table.cell(1, 2).text = '备注' #表格的第2行第3列写入'备注'

87 table.cell(2, 0).text = today #写入对应的日期值

88 table.cell(2, 1).text = price #写入对应的价格值

89 table.cell(2, 2).text = '这里是备注呀' #写入对应的备注值

90

91 #添加第四自然段来存储联系人信息

92 p4 =document.add_paragraph()93 #设置靠右对齐

94 p4.alignment =WD_PARAGRAPH_ALIGNMENT.RIGHT95 #向第四自然添加内容

96 run4 = p4.add_run('(联系人:小刘 电话:18888888888)')97 #设置第四自然段的字体,文字大小和文字加粗

98 run4.font.name = '隶书'

99 run4._element.rPr.rFonts.set(qn('w:eastAsia'),u'隶书')100 run4.font.bold =True101 run4.font.size = Pt(12)102

103 #翻页,即要求里的广告页

104 document.add_page_break() #插入分页符

105 #增加第五自然段

106 p5 =document.add_paragraph()107 run5 = p5.add_run("此处是广告!此处是广告!此处是广告!此处是广告!此处是广告!此处是广告!此处是广告!")108 #设置第五自然段文字的字体,文字大小,文字加粗

109 run5.font.name = '宋体'

110 run5._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')111 run5.font.size = Pt(21)112 run5.font.bold =True113

114 #保存文档

115 document.save('D:/要保存的路径/2020-11-12-%s-价格通知.docx' % i)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值