安装代码
pip install python-docx
1.批量化往word文件中添加大批量重复的数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.shared import Pt #磅数 from docx.oxml.ns import qn #中文格式 #以上是docx库中需要用到的部分 import time price = input ( '请输入今日价格:' ) company_list = [ '客户1' , '客户2' , '客户3' , '客户4' , '客户5' , '客户6' ] today1 = time.strftime( "%Y-%m-%d" ,time.localtime()) today2 = time.strftime( "%Y/%m/%d" ,time.localtime()) today = time.strftime( "%Y{y}%m{m}%d{d}" ,time.localtime()). format (y = '年' ,m = '月' ,d = '日' ) for i in company_list: document = Document() #设置文档的基础字体中文 document.styles[ 'Normal' ].font.name = u '宋体' #设置文档的基础字体西文 document.styles[ 'Normal' ].element.rPr.rFonts. set (qn( 'w:eastAsia' ),u '宋体' ) # 初始化建立第一个自然段 pl = document.add_paragraph() #对齐方式为居中,没有这句话默认左对齐 pl.alignment = WD_ALIGN_PARAGRAPH.CENTER run1 = pl.add_run( '关于下达%s产品价格的通知' % (today)) run1.font.name = '微软雅黑' run1.element.rPr.rFonts. set (qn( 'w:eastAsia' ),u '微软雅黑' ) run1.font.size = Pt( 21 ) #是否加粗 run1.font.bold = True #前后距离5磅 pl.space_before = Pt( 5 ) pl.space_after = Pt( 5 ) # 初始化建立第二个自然段 p2 = document.add_paragraph() run2 = p2.add_run(i + ":" ) #对客户的称呼 run2.font.name = '仿宋_GB2312' run2.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run2.font.size = Pt( 16 ) # 是否加粗 run2.font.bold = True # 初始化建立第三个自然段 p3 = document.add_paragraph() run3 = p3.add_run( " 根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知." % price) # 对客户的称呼 run3.font.name = '仿宋_GB2312' run3.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run3.font.size = Pt( 16 ) # 是否加粗 run3.font.bold = True # 初始化建立第四个自然段 p4 = document.add_paragraph() # 对齐方式为居中,没有这句话默认左对齐 p4.alignment = WD_ALIGN_PARAGRAPH.CENTER run4 = p4.add_run( "( 联系人:小杨 电话:18888888888)" ) # 对客户的称呼 run4.font.name = '仿宋_GB2312' run4.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run4.font.size = Pt( 16 ) # 是否加粗 run4.font.bold = True document.save( '%s-价格通知.docx' % i) |
2.添加图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.shared import Pt #磅数 from docx.oxml.ns import qn #中文格式 from docx.shared import Inches #图片尺寸 #以上是docx库中需要用到的部分 import time price = input ( '请输入今日价格:' ) company_list = [ '客户1' , '客户2' , '客户3' , '客户4' , '客户5' , '客户6' ] today = time.strftime( "%Y{y}%m{m}%d{d}" ,time.localtime()). format (y = '年' ,m = '月' ,d = '日' ) for i in company_list: document = Document() # 设置文档的基础字体中文 document.styles[ 'Normal' ].font.name = u '宋体' # 设置文档的基础样式 document.styles[ 'Normal' ].element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '宋体' ) document.add_picture( 'banner.jpg' ,width = Inches( 6 )) # 初始化建立第一个自然段 pl = document.add_paragraph() # 对齐方式为居中,没有这句话默认左对齐 pl.alignment = WD_ALIGN_PARAGRAPH.CENTER run1 = pl.add_run( '关于下达%s产品价格的通知' % (today)) run1.font.name = '微软雅黑' run1.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '微软雅黑' ) run1.font.size = Pt( 21 ) # 是否加粗 run1.font.bold = True # 前后距离5磅 pl.space_before = Pt( 5 ) pl.space_after = Pt( 5 ) # 初始化建立第二个自然段 p2 = document.add_paragraph() run2 = p2.add_run(i + ":" ) # 对客户的称呼 run2.font.name = '仿宋_GB2312' run2.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run2.font.size = Pt( 16 ) # 是否加粗 run2.font.bold = True # 初始化建立第三个自然段 p3 = document.add_paragraph() run3 = p3.add_run( " 根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知." % price) # 对客户的称呼 run3.font.name = '仿宋_GB2312' run3.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run3.font.size = Pt( 16 ) # 是否加粗 run3.font.bold = True table = document.add_table(rows = 3 ,cols = 3 ,style = 'Table Grid' ) table.cell( 0 , 0 ).merge(table.cell( 0 , 2 )) table_run1 = table.cell( 0 , 0 ).paragraphs[ 0 ].add_run( 'xx产品报价表' ) table_run1.font.name = u '隶书' table_run1.element.rPr.rFonts. set (qn( 'w:eastAsia' ),u '隶书' ) table.cell( 1 , 0 ).text = '日期' table.cell( 1 , 1 ).text = '价格' table.cell( 1 , 2 ).text = '备注' table.cell( 2 , 0 ).text = today table.cell( 2 , 1 ).text = str (price) table.cell( 2 , 2 ).text = '' # 初始化建立第四个自然段 p4 = document.add_paragraph() # 对齐方式为居中,没有这句话默认左对齐 p4.alignment = WD_ALIGN_PARAGRAPH.CENTER run4 = p4.add_run( " (联系人:小杨 电话:18888888888)" ) # 对客户的称呼 run4.font.name = '仿宋_GB2312' run4.element.rPr.rFonts. set (qn( 'w:eastAsia' ), u '仿宋_GB2312' ) run4.font.size = Pt( 16 ) # 是否加粗 run4.font.bold = True #插入分页符 document.add_page_break() p5 = document.add_paragraph() run4 = p5.add_run( '此处是广告' ) document.save( '%s-价格通知.docx' % i) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/sunflying/p/13382950.html