Word自动化处理相关知识:Word自动化处理相关知识
一、向Word文档中写入数据——python-docx
1.1 安装:pip install python-docx
1.2 使用方法:
1.2.1 向Word中写入文字
#以下是docx库中需要用到的部分
from docx import document
from docx.enum.text import WD_ALIGN_PARAGRAPH #文本排列样式
from docx.shared import Pt # 字体大小,磅数
from docx.oxml.ns import qn # 中文格式
# 创建文档对象
document = Document()
# 设置文档的基础字体
document.styles['Normal'].font.name = u'宋体'
# 设置文档的基础字体和样式(包含中文)
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
# 初始化建立第一个自然段
p1 = document.add_paragraph()
# 对齐方式为居中,没有这句的话默认左对齐。
p1.alignment = WD_ALIGN_PARAGRAPH.CENTER
# 设置第一段的内容
run1 = p1.add_run('关于下达%s产品价格的通知' % (today))
# 设置西文字体
run1.font.name = '微软雅黑'
# 设置中文字体
run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
# 设置字体大小为21磅
run1.font.size = Pt(21)
# 设置加粗
run1.font.bold = True
# 段后距离5磅
p1.space_after = Pt(5)
# 段前距离5磅
p1.space_before = Pt(5)
#保存
document.save('a.docx' )
1.2.2 向Word中写入图片和表格
# 写入图片需要导入图片尺寸
from docx.shared import Inches
#插入图片,宽度为6英寸
document.add_picture('banner.jpg', width=Inches(6))
#插入表格,3行3列
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.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
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 = ''
1.2.3 将Word文档转换成PDF文件
注意:代码是固定写法
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com