from openpyxl import load_workbook
from docx import Document
from os import listdir
'''
定义替换函数
'''
def replace_text(old_text, new_text):
all_paragraphs = document.paragraphs #读取所有的自然段
for paragraph in all_paragraphs:
for run in paragraph.runs: #循环读取所有的run,并进行新旧文本的替换
run_text = run.text.replace(old_text, new_text)
run.text = run_text
all_tables = document.tables #读取所有的表格
for table in all_tables:
for row in table.rows:
for cell in row.cells: #循环读取表格中所有的cells,并进行新旧文本的替换
cell_text = cell.text.replace(old_text, new_text)
cell.text = cell_text
'''
获取Excel和Word的文件名
'''
for file in listdir():
if '.xlsx' in file:
xlsx_name = file
if '.docx' in file:
docx_name = file
'''
读取Excel内数据
'''
wb = load_workbook(xlsx_name)
sheetx0 = wb.sheetnames
sheetx = wb[sheetx0[0]]
'''
循环读取并替换
'''
for col in range(2,sheetx.max_column+1): #合同要素Excel中逐列循环
document = Document(docx_name)
if sheetx.cell(row=1,column=col).value!=None: #openpyxl在使用sheetx.max_column时可能会读取到空的单元格,这里进行剔除
for l in range(1,sheetx.max_row+1): #合同要素Excel中逐行循环
old_text = sheetx.cell(row=l,column=1).value #合同要素Excel中对第一列逐行读取编号
new_text = sheetx.cell(row=l,column=col).value #合同要素Excel中对循环的当前列逐行读取新要素
replace_text(str(old_text),str(new_text)) #进行替换
filename = str(sheetx.cell(row=1,column=col).value) #定义文件名为当前列第一行的内容
document.save("%s.docx"%(filename)) #按定义的文件名进行保存
print('合同生成完毕!')
不脱发的程序猿
- 粉丝: 26w+
- 资源: 5888
最新资源
- 基于树莓派与百度智能云的人脸识别打卡系统(Qt开发,含接口调用,可作毕设).zip
- 基于SpringBoot等技术的仓储服务管理系统+设计报告(含SSM、Redis等).zip
- 毕业设计基于SpringBoot和MySQL的小学生口算练习与测评系统+论文报告.zip
- 基于C++的机房资源预约管理系统源码+报告文档(课程设计团队项目).zip
- 基于python机器学习的猫狗识别分类项目源码(含源码、说明与论文).zip
- 基于联邦深度强化学习的无人驾驶决策控制系统(Python源码及说明).zip
- 2024新开发基于机器学习的Android恶意代码检测项目(含说明与源码).zip
- 基于 FISCOBCOS 与 Paillier 同态加密的匿名投票案例(含源码与说明).zip
- 毕业设计基于深度学习卷积神经网络的图像分类GUI界面项目(含源码与说明).zip
- 基于深度学习的Landsat影像分类算法及源码(含设计文档+项目说明).zip
- 期末课设基于机器学习的股票预测实战算法(含项目说明,含python源码).zip
- 毕设基于QT和sqlite3的大二背单词辅助系统开发(含完整源码+全部资料).zip
- 基于FPGA的简易神经网络加速器设计-最新开发(含源码及全部资料).zip
- 软件杯获奖作品-林业有害生物智能识别-(含全部参赛源码及资料).zip
- 2024毕设:基于YOLOv5与 PyQt5 的人脸表情识别系统(含源码与说明).zip
- 基于C++和QT的OSM地图数据解析与导航系统(含完整源码+设计报告).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈