尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

影刀RPA Word模板自动填写:批量生成合同报告

影刀RPA Word模板自动填写:批量生成合同报告
📅 发布时间:2026/7/11 12:31:22

title: “影刀RPA Word模板自动填写:批量生成合同报告”
date: 2026-07-01
author: 林焱

影刀RPA Word模板自动填写:批量生成合同报告

HR每月要生成200份员工劳动合同,财务每周要输出50份项目报告,这类"格式固定、只有数据不同"的文档,用影刀配合python-docx模板引擎可以10分钟批量搞定。

什么情况用什么

适合批量生成Word的场景:

  • 劳动合同、录用通知书,每人一份
  • 销售报价单、项目合同,每单一份
  • 周报月报,格式固定只换数据
  • 证书、荣誉奖状批量生成

不适合的场景:

  • 文档格式每次都不一样,需要人工排版
  • 内容逻辑复杂,需要人工判断写什么

怎么做

方法1:使用python-docx直接操作(推荐)

拼多多店群自动化上架方案

先手工做好Word模板,用特殊占位符标记变量位置,影刀批量替换。

第一步:制作Word模板

在Word里把需要替换的位置用双花括号标记,例如:

甲方:{{company_name}} 乙方:{{employee_name}} 入职日期:{{start_date}} 月薪:{{salary}} 元

第二步:准备数据源(Excel)

employee_namecompany_namestart_datesalary
张三示例科技有限公司2024年7月1日8000
李四示例科技有限公司2024年7月1日10000

【影刀操作】

  1. 新建流程「批量生成合同」
  2. 添加【读取Excel】指令
    • 文件路径:C:\员工数据\员工列表.xlsx
    • 工作表:Sheet1
    • 保存结果:变量employees
  3. 添加【循环】指令,遍历变量employees
    • 循环变量:employee
  4. 在循环内添加【Python】指令
    fromdocximportDocumentimportcopy# 读取模板doc=Document(r'C:\模板\合同模板.docx')# 替换变量replacements={'{{employee_name}}':employee['employee_name'],'{{company_name}}':employee['company_name'],'{{start_date}}':employee['start_date'],'{{salary}}':str(employee['salary'])}# 替换段落中的文本forparaindoc.paragraphs:forkey,valueinreplacements.items():ifkeyinpara.text:forruninpara.runs:run.text=run.text.replace(key,value)# 替换表格中的文本fortableindoc.tables:forrowintable.rows:forcellinrow.cells:forparaincell.paragraphs:forkey,valueinreplacements.items():ifkeyinpara.text:forruninpara.runs:run.text=run.text.replace(key,value)# 保存到以员工名字命名的文件output_path=f"C:\\合同输出\\{employee['employee_name']}_劳动合同.docx"doc.save(output_path)print(f"已生成:{output_path}")
  5. 循环结束后添加【写入日志】:共生成 {员工总数} 份合同

方法2:使用docxtpl模板引擎(更强大)

docxtpl支持Jinja2语法,可以在模板里写条件判断和循环,更灵活。

模板写法(支持条件):

{{employee_name}} 同志: 您的岗位为:{{position}} {% if is_probation %} 试用期:3个月,试用期薪资:{{trial_salary}}元 {% endif %} 月薪:{{salary}} 元

【影刀操作】

  1. 添加【Python】指令
    fromdocxtplimportDocxTemplate tpl=DocxTemplate(r'C:\模板\合同模板_tpl.docx')context={'employee_name':employee['employee_name'],'position':employee['position'],'salary':employee['salary'],![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d3997665cd704a57b3f0f07825617209.png#pic_center)'is_probation':employee['is_probation']=='是','trial_salary':employee['trial_salary']}tpl.render(context)output_path=f"C:\\合同输出\\{employee['employee_name']}_合同.docx"tpl.save(output_path)

方法3:生成Word后转PDF

合同通常要发PDF,生成Word后自动转换。

【影刀操作】

  1. 在保存Word后添加【Python】指令
    importsubprocessimportos# 用LibreOffice转PDF(需要安装LibreOffice)word_path=f"C:\\合同输出\\{employee['employee_name']}_劳动合同.docx"output_dir=r'C:\合同输出\PDF'os.makedirs(output_dir,exist_ok=True)result=subprocess.run([r'C:\Program Files\LibreOffice\program\soffice.exe','--headless','--convert-to','pdf','--outdir',output_dir,word_path],capture_output=True,text=True)ifresult.returncode==0:print(f'PDF转换成功')else:print(f'PDF转换失败:{result.stderr}')

有什么坑

坑1:替换后格式丢失

原模板里"员工姓名"是加粗红色,替换后变成普通黑字。

TEMU店群如何管理运营?

原因:Word会把一个段落拆成多个run,占位符被拆开了,比如{{name}}被分成{{、name、}}三个run,单独替换每个run的text找不到完整占位符。

解决方法:先把段落所有run的text合并,找到占位符位置后,清空所有run的text,只在第一个run里写入替换后的完整文本。或者用docxtpl,它内部处理了这个问题。

坑2:表格里的内容替换不了

只替换了段落文本,忘了遍历表格。模板里如果变量在表格单元格里,必须单独遍历doc.tables。

坑3:中文乱码

保存路径或数据里有中文,在某些系统上会乱码。

解决方法:打开文件时统一指定encoding='utf-8',路径用原始字符串r''。

坑4:日期格式不统一

Excel里的日期是2024-07-01,合同里要求2024年7月1日。

解决方法:在Python里做格式转换:

fromdatetimeimportdatetime date_str=datetime.strptime(employee['start_date'],'%Y-%m-%d').strftime('%Y年%-m月%-d日')

总结

Word批量生成的核心是:设计好模板、准备好数据、写好替换逻辑。docxtpl比直接用python-docx省事很多,遇到格式复杂的模板首选它。100份合同用影刀跑,3分钟搞定。

相关新闻

  • 四会市水质、空气、高危安全检测+泳池办证三项检测指南 - 第三方检测机构
  • 技术视角下的Syncthing Android:构建去中心化文件同步生态
  • 2026 年 7 月山西工矿轴承采购合作企业:山西艾弗艾基进口设备贸易有限公司 - 信息热点

最新新闻

  • 舞台直拍视频专业处理技术:从色彩校正到音频优化的完整指南
  • 6款苹方字体完整包:让Windows平台也能享受苹果原生字体体验
  • 2026年标签打印软件真实测评:有些功能你根本用不上 - 斑马爱打印
  • 清奢黄金回收,镇江6家让旧金温柔变现 - 新芸鼎珠宝首饰
  • 如何轻松保存抖音内容:完整免费下载方案终极指南
  • 广州番禺区搬家公司推荐 车型齐全可随时预约,正规搬家服务商选 - gzdjxd

日新闻

  • OpenClaw本地部署:一键直连微信的私有化AI Agent实战指南
  • Kubernetes 系列【10】控制器:ReplicaSet(副本集)
  • 怎么寄快递才能便宜呢?2026年7月寄快递省钱攻略 - 生活情报姬

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号