用Python批量生成word文档

news2025/2/23 22:15:58

楼主有个同事妹子每天都做重复性工作而且加班到很晚。这是楼主出于兴趣帮她写的的批量生成保密协议word文档的脚本,共享给大家使用~1小时的工作,用脚本5秒钟即搞定有木有~

copy到本地存成.py文件即可使用,生成的文件是这样的:

#创建并写入word文档

import docx

from docx.oxml.ns import qn

from docx.shared import RGBColor

from docx.enum.text import WD_ALIGN_PARAGRAPH

##run = p.add_run(u我添加的段落文字)

##run.font.color.rgb = RGBColor(54,95,145) #颜色设置,这里是用RGB颜色

##run.font.size = Pt(36) #字体大小设置,和word里面的字号相对应

#要生成的保密协议人员信息

name_list = [(小红,xxxxxxxxxxxx),(小明,xxxxxxxxxxxx)]

工作中的name_list是从文件读取,格式为名称 身份证,用\t做分隔符:

name_list = list()

file_in = open(name_list.txt)

for line in file_in:

name_list.append(line.strip().split(\t))

file_in.close()

#保密协议正文

content = 保密协议正文

工作中的content是从文件读取:

file_in = open(content.txt)

content = file_in.read()

file_in.close()

#以下为生成保密协议的代码,name_list中的每个人员都将生成对应一份保密协议文档

for names in name_list:

#创建内存中的word文档对象

file=docx.Document()

file.styles[Normal].font.name = u宋体

file.styles[Normal]._element.rPr.rFonts.set(qn(w:eastAsia), u宋体) #可换成word里面任意字体

#写入若干段落

p1 = file.add_paragraph()

p1.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #段落文字居中设置

run = p1.add_run("保密协议")

run.font.size = docx.shared.Pt(14) #四号字体

#个人信息

p2 = file.add_paragraph()

p2.add_run(本人).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( %s %names[0])

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(,身份证号码为).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( %s %names[1])

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(,作为).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( xxxx股份有限公司 )

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(公司(以下简称:).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( xxxx )

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(公司)派往xxxx有限公司及其关联机构公司(以下简称:xx公司)从事).font.size = docx.shared.Pt(10.5) #五号字体

#run = p2.add_run(%s %names[2]).font.size = docx.shared.Pt(10.5) #五号字体

p2.add_run(相关工作,对).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run(" 2018年xxx定制开发项目 ")

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(项目(以下简称“本项目”)而获得的信息进行保密,就保密事项达成以下一致:).font.size = docx.shared.Pt(10.5) #五号字体

p3 = file.add_paragraph()

p3.add_run(content).font.size = docx.shared.Pt(10.5) #五号字体

p4 = file.add_paragraph()

p4.add_run("协议承诺人:%s" %names[0]).font.size = docx.shared.Pt(10.5) #五号字体

p5 = file.add_paragraph()

p5.add_run("日期:2018/04/28").font.size = docx.shared.Pt(10.5) #五号字体

#保存

file.save("技术支撑服务人员保密协议-%s.docx" %names[0])

 

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

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

相关文章

MySQL基础(十一)数据处理之增删改

1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入数据。 1.2 方式1:VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....)…

文旅数字人出圈不断,文旅数字人宣传片制作赋能数字文旅新业态

在文旅产业发展中 数字人的应用越来越广泛 文旅借助数字人浪潮 把传统文化与科技相融合 以Z世代年轻群体所喜爱的方式 推动文旅数字化发展 文旅数字人应用场景——数字人文旅宣传片 可以让数字人作为文旅宣传片主角,串联当地代表性的历史文化地标、现代都市场景…

webconsole使用方法(fastapi框架)

webconsole使用方法 项目背景docker实现linux实现 安装webconsole包代码中需要改动的地方引用路由加入路由到访问路径 示例接口访问路径 项目背景 需要在自己的项目中,可以实时连接linux或者docker的命令行,以此来达到webconsole或者叫web terminal的这…

开源智慧家居

与家居行业、服务行业等伙伴协同合作,努力创造社会价值,提升行业整体服务 水平,树立家居服务业统一售后标准,构建品质、高效、有温度的居家生活服务新生态。 为企业商家和个人客户提供家居配送、搬运、安装、维修、保养等服务。 …

在Linux系统中搭建Docker环境

搭建Docker环境 文章目录 搭建Docker环境Ubuntu版本安装DockerCentos版本安装Docker配置镜像加速 Ubuntu版本安装Docker 按照以下步骤在 Ubuntu 上安装 Docker: 卸载旧版本的 Docker(如果有): sudo apt-get remove docker docker…

【PYTHON】绘制热力图SEABORN.HEATMAP

目录 一、参数详解二、颜色参数-cmap三、个性化设置四、代码 更多python资料、源码、教程皆可点击文章下方名片获取此处跳转 一、参数详解 seaborn.heatmap() seaborn.heatmap(data, vminNone, vmaxNone, cmapNone, centerNone, robustFalse, annotNon…

又一里程碑,alibaba首推Java技术成长笔记,业内评级“钻石级”

前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的。在行业内,很多互联网企业也将阿里作为自己的标杆,越来越多的…

智慧厕所引导系统的应用

智慧公厕引导系统是一种基于智能化技术的公厕管理系统,可以为如厕者提供更加便捷、舒适、安全的如厕环境和服务,同时也可以引导如厕者文明如厕,营造文明公厕的氛围。智慧公厕引导系统可以通过智能引导屏、手机小程序等方式,为如厕…

Spring Security OAuth2.0(四)-----OAuth2+JWT

传统的通过 session 来记录用户认证信息的方式我们可以理解为这是一种有状态登录,而 JWT 则代表了一种无状态登录。「无状态登录天然的具备单点登录能力」 1. 无状态登录 1.1 什么是有状态 有状态服务,即服务端需要记录每次会话的客户端信息&#xff…

asp.net+sqlserver房屋中介管理信息系统

据信息处理工作量大时容易出错;数据繁多时,容易丢失,且不易查找,出错后又不易修改。 基于以二、系统主要划分为房屋和客户两种角色。主要功能划分为:客户管理,房屋管理和交易管理三大块。其中:…

JVM系列-第5章-堆(JVisualVM)

堆 堆的核心概述 堆与进程 堆针对一个JVM进程来说是唯一的。也就是一个进程只有一个JVM实例,一个JVM实例中就有一个运行时数据区,一个运行时数据区只有一个堆和一个方法区。 但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例…

Introduction to modern Cryptography 现代密码学原理与协议第二章笔记

M表示明文空间,K表示密钥空间,C表示所有可能的密文集合 完善保密加密的概念: 简化约定,不再特殊声明,除数为0无意义 完全保密加密的等价公式: 证明: 必要性证明略,此证明为条件概率的简单应用 完全不可区分性: 完善保密…

PCL学习八:Keypoints-关键点

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云 1. 引言 关键点也称为兴趣点,它是 2D 图像或 3D 点云或曲面模型上,可以通过检测标准来获取的具有稳定性、区别性的点集。从技术上来说,关键点的数量比原始点云或图像的数据量少很多,其与…

外译笔记 | 比尔盖茨:AI与智能手机和互联网一样具有革命性 | 京东云技术团队

3月21号,微软创始人比尔盖茨,在盖茨笔记中,发表最新AI文章《人工智能时代已经开始——人工智能与智能手机、互联网一样具有革命性》,文章中表示:自1980年首次看到图形用户界面(graphical user interface&am…

使用awvs对网站进行扫描

前言:由于领导要求生成好看的漏洞扫描报告来发送给甲方,因此放弃了xray xray的简单使用 一、首先下载并安装相应的工具 访问此网址观看相应操作系统视频进行安装、有安装包更新记得及时更新 https://www.iculture.cc/software/pig35126 二、开始扫描 …

软考A计划-重点考点-专题一(计算机系统知识)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

【读书笔记】次第花开——安抚内心平静的宝藏书

种草许久的书,终于在合适的时间点读上了。还是从樊登老师那里了解到的,我本身是对佛法没有太深的理解和概念,但总感觉在这浮躁的社会需要一些理念支撑让人能沉静下来的。信仰对我还很陌生,但次第花开读起来真的让人舒服&#xff0…

3.Docker实用技术

Docker实用篇 0.学习目标 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署…

看电商数据,用api接口数据

看渠道,看行业,看竞品很方便,不用拉一堆品牌比较,我看整体的时候很直接,谁最近数据好销量高一目了然,我也能做出反应和调整。 深圳电商运营中心 看历史数据的功能,极大满足了我不断总结复盘的习…

洗稿伪原创工具-洗稿生成器

chatgpt快速洗稿一篇文章 做自媒体创作的人都知道,文案创作是一件十分耗时间和精力的事情,而且要做好一篇文章,还需要考虑排版、语法和语气等问题。为了让自媒体写作更简单、更快速,我们推出了一款名为ChatGPT的快速洗稿软件&…