编辑
2026-04-01
undefined
00

目录

名单
实现代码

名单

姓名性别身份张三女嘉宾李四男媒体王五男嘉宾

实现代码

from docx import Document # 创建文档 from docx.oxml.ns import qn # 中文 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 段落 from docx.shared import Pt, RGBColor, Mm, Cm # 大小磅数/字号 from openpyxl import load_workbook def template(name, sex, types): """ 创建模板 - 先生/女士 - 嘉宾/媒体 """ word = Document() # 创建word文档对象 word.styles['Normal'].font.name = u'微软雅黑' word.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑') # 段落1 p1 = word.add_paragraph() p1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 添加文字 run_text_1 = p1.add_run('客户大会') run_text_1.font.size = Pt(20) if types == '媒体': run_text_1.font.name = u'宋体' run_text_1._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') # 段落2 p2 = word.add_paragraph() p2.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 添加文字 run_text_2 = p2.add_run('邀请函') run_text_2.font.size = Pt(36) # 段落 customer p_customer = word.add_paragraph() p_customer.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # 添加文字 if types == '嘉宾': run_text_c = p_customer.add_run(f'尊敬的 {name} {sex}') else: run_text_c = p_customer.add_run(f'尊敬的 {name} 老师') run_text_c.font.color.rgb = RGBColor(177, 23, 79) run_text_c.font.size = Pt(20) # 段落3 p3 = word.add_paragraph() # 添加文字 run_text_3 = p3.add_run('诚邀您参加由大学组织的客户答谢会。请于2022年10月10日在大学总部准时出席。') run_text_3.font.size = Pt(16) # 首行缩进 p3.paragraph_format.first_line_indent = Cm(0.74) # 段落4 公司logo p4 = word.add_paragraph() p4.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 添加文字 run_text_4 = p4.add_run() run_text_4.add_picture('logo.jpg', width=Mm(40)) if types == '嘉宾': word.save(f'VIP/{name}.docx') else: word.save(f'Media/{name}.docx') def main(): wb = load_workbook('list.xlsx') ws = wb.worksheets[0] for r in list(ws.iter_rows())[1:]: row = [data.value for data in r] if row[1] == '男': sex = '先生' else: sex = '女士' template(row[0], sex, row[2]) if name == 'main': main()

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!