关注公众号:Python Lab
首先,在网络找到这样一份模板内容,可以根据这么模板进行排版
这是存放在Excel中的数据,根据数据遍历其中的内容,写入word当中
完整代码实现
from docx import Document
import pandas as pd
import datetime as dt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 设置对象居中
from docx.shared import Pt, Inches # Pt磅 Inches英寸
from docx.oxml.ns import qn # 中文字体
doc = Document()
data = pd.read_excel('./excel.xlsx')
datetime = dt.datetime.now() # 当前时间
datetime_now = str(datetime.year) + '年' + str(datetime.month) + '月' + str(datetime.day) + '日'
for i in data['序号']:
name = str(data.iloc[i - 1, 1])
join_date = str(data.iloc[i - 1, 2])
position = str(data.iloc[i - 1, 3])
reason = str(data.iloc[i - 1, 4])
off_date = str(data.iloc[i - 1, 5])
# 标题
paragraph1 = doc.add_paragraph() # 增加一个段落
paragraph1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
title = paragraph1.add_run('离职证明') # 给段落写上一个块,添加文字 标题
title.font.name = 'Arial' # 英文字体
title.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
title.font.size = Pt(18)
title.font.bold = True # 加粗
paragraph1.space_after = Pt(5) # 段前
paragraph1.space_before = Pt(5) # 段厚
# 正文
paragraph2 = doc.add_paragraph() # 增加一个段落,这个段落是正文
content = paragraph2.add_run(
f'慈证明,{name} 同志,自 {join_date} 入职我公司,担任 {position} 岗位,至 {off_date} 因 {reason} 原因申请离职,在此工作期间无'
f'不良表现,工作良好,同事关系融洽。经公司慎重考虑批准离职,已办理交接手续\n') # 给段落写上一个块,添加文字
content.font.name = 'Arial' # 英文字体
content.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
paragraph2.paragraph_format.first_line_indent = Inches(0.4) # 首行缩进0.4英寸
# 说明
paragraph3 = doc.add_paragraph() # 增加一个段落
illustration = paragraph3.add_run('特此证明。\n\n\n') # 给段落写上一个块,添加文字
illustration.font.name = 'Arial' # 英文字体
illustration.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
paragraph3.paragraph_format.first_line_indent = Inches(0.4) # 首行缩进0.4英寸
# 日期
paragraph4 = doc.add_paragraph()
datetime = paragraph4.add_run('测试有限公司\n')
datetime.font.name = 'Arial' # 英文字体
paragraph4.paragraph_format.first_line_indent = Inches(4) # 首行缩进0.4英寸
# 日期
paragraph5 = doc.add_paragraph() # 增加一个段落
datetime = paragraph5.add_run(f'日期: {datetime_now}') # 给段落写上一个块,添加文字
datetime.font.name = 'Arial' # 英文字体
datetime.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
datetime.font.size = Pt(14)
datetime.font.bold = True # 加粗
paragraph5.paragraph_format.first_line_indent = Inches(3.9) # 首行缩进0.4英寸
doc.add_page_break() # 增加分页符
doc.save('./离职证明.docx')
效果