安装代码
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