You need to enable JavaScript to run this app. 如何使用脚本将Excel行数据复制到Word指定文本框批量制作毕业证书
优惠活动
大模型
产品
解决方案
定价
更多

如何使用脚本将Excel行数据复制到Word指定文本框批量制作毕业证书

批量生成毕业证书可落地方案

以下两种方案均可以实现完全无手动重复操作,500份证书生成耗时不超过1分钟。

无代码方案:Word 自带邮件合并(推荐普通用户使用)

无需安装额外工具,用Office自带功能即可实现:

  • 整理Excel数据源:确保第一行表头为「姓名」「课程名称」,下方对应每行是一个学员的信息,删除无关空行空列,保存后关闭Excel文件(避免文件被占用导致读取失败)
  • 导入数据源:打开你提前编辑好的Word毕业证书模板,点击顶部「邮件」选项卡,选择「选择收件人」→「使用现有列表」,选中刚才的Excel文件,再选择对应数据所在的工作表,确认导入
  • 关联模板字段:先点击姓名对应文本框的内部激活输入光标,再点击「邮件」选项卡下的「插入合并域」,选择「姓名」字段;重复同样操作,给课程名称的文本框插入「课程名称」字段
  • 批量生成:点击「完成并合并」→「编辑单个文档」,选择「全部」即可生成包含所有证书的新Word文档,也可以选择直接批量打印或批量导出为PDF。

注意:如果插入合并域时无法选中文本框内的位置,确认你点击的是文本框内部的输入区域,而非文本框的边框。

脚本方案:Python 批量生成(适合需要单独导出每份证书、自定义规则的场景)

如果需要每份证书单独保存为独立文件,可以用Python脚本实现:

  • 先安装依赖库:pip install python-docx openpyxl
  • 先在Word模板的两个文本框里分别填入占位符{{姓名}}和{{课程名称}},保存模板
  • 运行以下脚本即可批量生成所有证书:
from docx import Document
from openpyxl import load_workbook

# 加载Excel数据源,替换为你自己的文件路径
wb = load_workbook("学员数据.xlsx")
ws = wb.active

# 遍历每行数据,跳过表头行
for row in ws.iter_rows(min_row=2, values_only=True):
    stu_name, course_name = row[0], row[1]
    # 加载证书模板,替换为你自己的模板路径
    doc = Document("毕业证书模板.docx")
    
    # 替换嵌入式文本框的占位符
    for shape in doc.inline_shapes:
        if shape.has_text_frame:
            for para in shape.text_frame.paragraphs:
                para.text = para.text.replace("{{姓名}}", stu_name).replace("{{课程名称}}", course_name)
    
    # 替换浮动文本框的占位符(如果你的模板用的是浮动文本框,保留这段代码即可)
    for shape in doc.shapes:
        if shape.has_text_frame:
            for para in shape.text_frame.paragraphs:
                para.text = para.text.replace("{{姓名}}", stu_name).replace("{{课程名称}}", course_name)
    
    # 保存单份证书,命名规则可以自己调整
    doc.save(f"毕业证书_{stu_name}_{course_name}.docx")

注意:脚本运行时不要打开模板文件和Excel数据源,避免文件占用报错。

内容的提问来源于stack exchange,提问作者Alex Timokhov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 16:24:04