按模版批量生成定制合同

提出问题

一个仪器设备采购公司,商品合同采购需要按模版生成的固定的文件,模板是固定的,只是每次需要替换信息,然后打印出来寄给客户。

传统方法

如果手工来做这个事情,准备好数据之后,需要从Excel表格中复制粘贴数据,再到word中去替换,每次至少需要3分钟的时间。假如每天要开100份,则至少要花5个小时。这样就太浪费人力时间了,而且手工编辑word很容易出错。

爽解决

可不可用python写个程序,快速、秒级解决这个问题呢?

结论当然是肯定的!

提前准备好word模板,准备写入word文档的内容,我们使用Python直接读写word模块,通过读取Excel表格中的信息,批量替换内容并生成word文件。秒级完成重复工作,提升办公效率!

代码实现

## 导入包
from docx import Document
import pandas as pd ## 读入合同信息表
df = pd.read_excel('./合同信息表.xlsx') ## 将读取到的每一个值都放到文本中去替换对应的值
# 一行行取出数据
for i in range(len(df)):## 读取合同模板 Word 文件doc = Document('./修改模板.docx')# 所有段落all_paragraphs = doc.paragraphs# 所有表格all_tables = doc.tables# 一列列取出数据for j in df.columns:# 将每一个元素都在段落里进行对应替换# 遍历每个段落for paragraph in all_paragraphs:# 遍历段落的最小单元runfor run in paragraph.runs:# 替换run_text = run.text.replace(j, str(df.loc[i,j]))# 新的内容赋值回原段落run.text = run_text# 将每一个元素都在表格里进行对应替换# 遍历表格for table in all_tables:# 遍历行for row in table.rows:# 遍历单元格for cell in row.cells:# 替换cell_text = cell.text.replace(j, str(df.loc[i,j]))# 新的内容赋值回原表格cell.text = cell_text## 替换完成后的doc生成新的word文件doc.save(f"./修改后的合同/{df.loc[i,'xBuyerx']}合同.docx") 

实现效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力

在数字化时代,企业面临的网络攻击威胁持续增加,如恶意软件、勒索软件、钓鱼攻击、DDoS攻击等。这些威胁不仅危及企业数据安全、系统稳定,还损害了品牌形象和市场信任。随着云计算、大数据、物联网的广泛应用,企业网络攻击面扩大&a…

MAVLink代码生成-C#

一. 准备Windows下安装环境 Python 3.3 – 官网链接下载Python future模块 –pip3 install future TkInter (GUI 工具). – python for Windows自带,无需下载环境变量PYTHONPATH必须包含mavlink存储库的目录路径。 –set PYTHONPATH你的mavlink源码路径 源码下载在…

【昆工主办|7月昆明】第三届绿色建筑、土木工程与智慧城市国际会议(GBCESC 2024)

随着全球城市化进程的加速,绿色建筑、土木工程与智慧城市等议题逐渐成为了行业内外关注的焦点。在这一背景下,第三届绿色建筑、土木工程与智慧城市国际会议(GBCESC 2024)的召开,无疑将为相关领域的研究者、学者及从业者…

原理和组成

能力要素:(1)人员要素:“正确选人”。(2)过程要素:“正确做事”。(3)技术要素:“高效做事”。(4)资源要素:“保障做事”。…

【ARM】MDK-解决Flexnet服务的error:-13.66

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录MDK网络版部署服务器error :-13.66的问题解决方案,后续有相关发现持续更新。 2、 问题场景 在客户的服务器上部署Flexnet服务,将license文件检查过后,确认MAC地址…

如何才能半个月学习完自动化测试,成功跳槽涨薪?

一直想写类似的文章&#xff0c;但是一直没有时间&#xff0c;正好乘此周末&#xff0c;终于可以写写我的见解了<关于如何学习自动化测试>&#xff0c;其实自动化测试的知识很宽泛&#xff0c;具体细分又可以分为&#xff1a;Web自动化测试&#xff08;PythonSelenium&am…

全新UI自助图文打印系统小程序源码 PHP后端 附教程

最新自助图文打印系统和证件照云打印小程序源码PHP后端&#xff0c;为用户用户自助打印的服务&#xff0c;包括但不限于文档、图片、表格等多种格式的文件。此外&#xff0c;它们还提供了诸如美颜、换装、文档打印等功能&#xff0c;以及后台管理系统&#xff0c;方便管理员对打…

【密码学】公钥密码的基本概念

在先前我写的密码学体制文章中谈到&#xff0c;现代密码学分为两大体制&#xff0c;介绍了一些有关对称密码体制诸如流密码和分组密码的内容。本文的主要内容则切换到公钥密码体制&#xff08;又称非对称密码体制&#xff09;&#xff0c;简述了公钥密码体制的基本思想和应用方…

六个Python实用技巧,大幅提升你的编程效率!

关注星标&#xff0c;每天学习Python新技能 Python作为当下最流行的编程语言之一&#xff0c;以其简洁易懂的语法和强大的第三方库支持&#xff0c;深受开发者的喜爱。在实际开发中&#xff0c;掌握一些实用的Python小技巧&#xff0c;可以大大提升编程效率和代码质量。 本文…

院内导航:如何用科技破解就医找路难题

自2019年开始“院内导航”被纳入医院智慧服务评估体系以来&#xff0c;到2023年改善就医服务升级的部署&#xff0c;每一步都见证了我国医疗卫生体系向智能化、人性化迈进的坚实步伐。 面对庞大复杂的医院环境与日益增长的就诊需求&#xff0c;如何让患者在茫茫人海中迅速找到就…

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟

CSDN回顾与前行&#xff1a;我的创作之旅——2048天的技术成长与感悟 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 前言 时光荏苒&#xff0c;岁月如梭。转眼间&#xff0c;从我在CSDN上写下第一篇技术博客《2-6 带头结点的链式表操作集…

Springcloud双重预防管理体系平台危险作业票子系统-计算机毕业设计源码48672

摘 要 随着企业生产规模的扩大和生产技术的提高&#xff0c;双重预防管理体系逐渐成为企业安全生产的重要手段。在双重预防管理体系中&#xff0c;危险作业票管理是其中的关键环节之一&#xff0c;对于预防生产事故和保障生产安全具有重要作用。 为了更好地管理危险作业票&…

移动应用:商城购物类,是最常见的,想出彩或许就差灵犀一指

在移动应用中&#xff0c;商城购物类的非常常见&#xff0c;模式也非常成熟&#xff0c;想要设计的出彩也是有难度的&#xff0c;这次分享一些不同的。

C语言之Const关键字与指针

目录 1 前言2 变量与指针的储存方式3 const int *var;int *const var&#xff1b;const int *const var&#xff1b;理解与区分4 总结 1 前言 实际开发过程中经常遇到const关键字作用于指针的情况&#xff0c;例如&#xff1a;const int *var;int *const var&#xff1b;const…

Linux开发板(正点原子阿尔法_IMX6U)QT5.12.9交叉编译到ARM开发板(已解决)

问题记录&#xff1a;Qt下ctrlR直接构建项目&#xff0c;然后在build-01_led-Desktop_Qt_5_12_9_GCC_64bit-Debugz中将构建的执行文件&#xff0c;scp到ARM开发板下&#xff0c;发现通过指令./01_led后出现以下报错。 问题原因&#xff1a;因为Qt构建默认使用的是64bit的gcc&am…

群辉NAS同步Android手机日历日程

目录 一、安装套件 二、手机导出日历日程 三、NAS套件导入日历 四、获得DAVx5登陆链接 五、手机配置 六、验证 上一篇文章我们解决了Android手机与群辉NAS的通讯录的同步,这期我们说说如何同步Android手机的日历中的日程到群辉NAS。 看过上篇文章的伙伴知道,Android需要…

深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件

本文将了解到Rokid AR开发组件 一、RKCameraRig组件1.脚本属性说明2.如何使用 二、PointableUI组件1.脚本属性说明2.如何使用 三、PointableUICurve组件1.脚本属性说明2.如何使用 四、RKInput组件1.脚本属性说明2.如何使用 五、RKHand组件1.脚本属性说明2.如何使用3.如何禁用手…

东旭蓝天被控股股东占用78亿:近七年业绩奇差,或面临退市

《港湾商业观察》施子夫 张楠 在7月5日一口气发了超过30份公告后&#xff0c;终于让投资者对于东旭蓝天2023年和今年一季度经营业绩有了更清晰的观察。 与此同时&#xff0c;东旭蓝天&#xff08;下称&#xff09;也收到了深交所的关注函。种种不利因素之下&#xff0c;上市…

AMEYA360:国民技术推出多款高能专用MCU产品

2024年7月8日&#xff0c;国民技术推出多款高能专用MCU产品。N32H482(通用控制)、N32H487(高性能互联)、N32GH473(电机控制)、N32H474(数字电源控制)四大系列高性能MCU新品&#xff0c;以及基于Arm Cortex M0内核实现的N32G052系列高性价比通用MCU新品。 全新一代高性能MCU新品…

android13 rom frameworks 蓝牙自动接收文件

总纲 android13 rom 开发总纲说明 目录 1.前言 2.源码查找 3.我们先实现第一种改法 4.实现第二种改法 5.第三种改法代码参考 6.编译测试 1.前言 我们从导航栏这里,点开这个蓝牙的接收框,弹出来的对话框,使用android studio 的layout inspector可以发现这个是 Bluetoo…