影刀RPA Word模板自动填写:批量生成合同报告
📅 2026/7/11 12:14:51
👁️ 次浏览
title: “影刀RPA Word模板自动填写批量生成合同报告”date: 2026-07-01author: 林焱影刀RPA Word模板自动填写批量生成合同报告HR每月要生成200份员工劳动合同财务每周要输出50份项目报告这类格式固定、只有数据不同的文档用影刀配合python-docx模板引擎可以10分钟批量搞定。什么情况用什么适合批量生成Word的场景劳动合同、录用通知书每人一份销售报价单、项目合同每单一份周报月报格式固定只换数据证书、荣誉奖状批量生成不适合的场景文档格式每次都不一样需要人工排版内容逻辑复杂需要人工判断写什么怎么做方法1使用python-docx直接操作推荐拼多多店群自动化上架方案先手工做好Word模板用特殊占位符标记变量位置影刀批量替换。第一步制作Word模板在Word里把需要替换的位置用双花括号标记例如甲方{{company_name}} 乙方{{employee_name}} 入职日期{{start_date}} 月薪{{salary}} 元第二步准备数据源Excelemployee_namecompany_namestart_datesalary张三示例科技有限公司2024年7月1日8000李四示例科技有限公司2024年7月1日10000【影刀操作】新建流程「批量生成合同」添加【读取Excel】指令文件路径C:\员工数据\员工列表.xlsx工作表Sheet1保存结果变量employees添加【循环】指令遍历变量employees循环变量employee在循环内添加【Python】指令fromdocximportDocumentimportcopy# 读取模板docDocument(rC:\模板\合同模板.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.textrun.text.replace(key,value)# 替换表格中的文本fortableindoc.tables:forrowintable.rows:forcellinrow.cells:forparaincell.paragraphs:forkey,valueinreplacements.items():ifkeyinpara.text:forruninpara.runs:run.textrun.text.replace(key,value)# 保存到以员工名字命名的文件output_pathfC:\\合同输出\\{employee[employee_name]}_劳动合同.docxdoc.save(output_path)print(f已生成{output_path})循环结束后添加【写入日志】共生成 {员工总数} 份合同方法2使用docxtpl模板引擎更强大docxtpl支持Jinja2语法可以在模板里写条件判断和循环更灵活。模板写法支持条件{{employee_name}} 同志 您的岗位为{{position}} {% if is_probation %} 试用期3个月试用期薪资{{trial_salary}}元 {% endif %} 月薪{{salary}} 元【影刀操作】添加【Python】指令fromdocxtplimportDocxTemplate tplDocxTemplate(rC:\模板\合同模板_tpl.docx)context{employee_name:employee[employee_name],position:employee[position],salary:employee[salary],is_probation:employee[is_probation]是,trial_salary:employee[trial_salary]}tpl.render(context)output_pathfC:\\合同输出\\{employee[employee_name]}_合同.docxtpl.save(output_path)方法3生成Word后转PDF合同通常要发PDF生成Word后自动转换。【影刀操作】在保存Word后添加【Python】指令importsubprocessimportos# 用LibreOffice转PDF需要安装LibreOfficeword_pathfC:\\合同输出\\{employee[employee_name]}_劳动合同.docxoutput_dirrC:\合同输出\PDFos.makedirs(output_dir,exist_okTrue)resultsubprocess.run([rC:\Program Files\LibreOffice\program\soffice.exe,--headless,--convert-to,pdf,--outdir,output_dir,word_path],capture_outputTrue,textTrue)ifresult.returncode0:print(fPDF转换成功)else:print(fPDF转换失败{result.stderr})有什么坑坑1替换后格式丢失原模板里员工姓名是加粗红色替换后变成普通黑字。TEMU店群如何管理运营原因Word会把一个段落拆成多个run占位符被拆开了比如{{name}}被分成{{、name、}}三个run单独替换每个run的text找不到完整占位符。解决方法先把段落所有run的text合并找到占位符位置后清空所有run的text只在第一个run里写入替换后的完整文本。或者用docxtpl它内部处理了这个问题。坑2表格里的内容替换不了只替换了段落文本忘了遍历表格。模板里如果变量在表格单元格里必须单独遍历doc.tables。坑3中文乱码保存路径或数据里有中文在某些系统上会乱码。解决方法打开文件时统一指定encodingutf-8路径用原始字符串r。坑4日期格式不统一Excel里的日期是2024-07-01合同里要求2024年7月1日。解决方法在Python里做格式转换fromdatetimeimportdatetime date_strdatetime.strptime(employee[start_date],%Y-%m-%d).strftime(%Y年%-m月%-d日)总结Word批量生成的核心是设计好模板、准备好数据、写好替换逻辑。docxtpl比直接用python-docx省事很多遇到格式复杂的模板首选它。100份合同用影刀跑3分钟搞定。
如何高效解决Steam Deck Windows兼容性问题:专业驱动适配方案 【免费下载链接】steam-deck-windows-usermode-driver A windows usermode controller driver for the steam deck internal controller. 项目地址: https://gitcode.com/gh_mirrors/st/steam-deck-wi…
📅 2026/7/11 12:14:51
技术深度解析:Decky Loader插件生态的系统故障排除与优化策略 【免费下载链接】decky-loader A plugin loader for the Steam Deck. 项目地址: https://gitcode.com/gh_mirrors/de/decky-loader
在开源工具生态中,Decky Loader作为Steam Deck的核…
📅 2026/7/11 12:14:51
Three.js 体积渲染在链上数据可视化中的应用:体素化与 Ray Marching 实践
一、链上数据的可视化困境:平面图表的信息密度天花板
区块链数据天然是三维的——时间(区块高度)、空间(地址间交互)、价值&…
📅 2026/7/11 12:14:51
从零到一:如何用PsychEngine轻松打造你的专属音乐节奏游戏 【免费下载链接】FNF-PsychEngine Engine originally used on Mind Games mod 项目地址: https://gitcode.com/gh_mirrors/fn/FNF-PsychEngine
PsychEngine是专为《周五夜放克》(Friday …
📅 2026/7/11 13:02:09
官方文档:https://tushare.pro/document/2?doc_id25 功能描述:获取A股股票基础信息,包括“股票代码”、“股票名称”、“地域”、“所属行业”、“上市日期”、“退市日期”等 返回限量:每次最多返回6000行数据(覆盖…
📅 2026/7/11 13:02:09
GrapesJS:零代码网页模板构建神器,3步搞定专业级设计 🚀 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Tre…
📅 2026/7/11 13:02:09
一、概念 DNS 隧道攻击是一种利用 DNS 协议进行隐蔽通信的网络攻击技术。攻击者将恶意数据或指令编码后藏在 DNS 查询和响应报文中,在受害主机与攻击者控制的服务器之间建立起一条秘密通道。由于 DNS 是互联网的基础协议,几乎所有网络设备都需要使用它来…
📅 2026/7/11 13:02:09
工业网关安全配置指南:汇川PLC远程访问的5个关键防护设置在工业自动化领域,汇川PLC作为国产PLC的代表产品,已广泛应用于各类控制场景。随着工业物联网技术的普及,远程访问PLC进行编程、调试和程序上下载的需求日益增长。然而&…
📅 2026/7/11 13:02:09
3步革命:用Playnite构建你的终极游戏库统一中心 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: https://g…
📅 2026/7/11 13:01:09
摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计…
📅 2026/7/11 0:00:31
1. 命令简介gpm 是 Linux 系统下运行于虚拟控制台(文字终端模式)的鼠标服务器。它的主要功能是在没有图形界面的纯文本环境中,为虚拟控制台提供鼠标支持,允许用户使用鼠标进行文本的选择、复制和粘贴操作,极大地提升了…
📅 2026/7/11 0:00:31
导语
先澄清一个常被混用的概念:BI试点"上线",并不等于试点"验收通过"。很多企业把仪表板做出来、账号发下去、培训开完场,就默认试点已经跑通,随后进入推广阶段——结果推广到第二个部门、第三个业务线时&am…
📅 2026/7/11 0:00:31
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/10 22:46:54
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/10 22:46:54
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/10 22:46:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/10 22:46:54
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/10 22:46:54
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/10 22:46:54