RPA手把手——Word 指定模板指定位置数据插入

324 篇文章 27 订阅
136 篇文章 1 订阅

艺赛旗 RPA9.0全新首发免费下载 点击下载

http://www.i-search.com.cn/index.html?from=line1

应用场景:房贷 - 收入证明的开具
需要进行住房贷款的单位员工进行收入证明的开具,收入证明需要使用其公司公章,故而该收入证明文件有固定的格式样式,人力资源进行审核,领导审批方可于公章管理部门进行证明文件的公章加盖
确定开发环境,用户内网使用的办公软件(office 或 WPS)

以客户内网使用 WPS 为例:
获取数据
员工自己发起申请,人资登录系统进行所有员工申请单 Excel 导出,本地处理从另一数据表中获取员工工资
因内网使用 WPS,仅能使用 padas 进行数据处理
#获取对应的员工姓名 name,工号 number,工资 money,身份证号 name_number,住址 address,时间(大写的中文)date_name

时间转换代码
import re,datetime
now_date = datetime.datetime.now()
date_stype = [‘0’,‘一’,‘二’,‘三’,‘四’,‘五’,‘六’,‘七’,‘八’,‘九’]
def get_date_change(now_date):
num_list = re.findall(r’\d’,now_date)
date_name = ‘’
n = 0
for num in num_list:
if (n == 4 and int(num) > 0) or (n == 6 and int(num) == 0):
print(‘0月0日不累加’)
else:
date_name += date_stype[int(num)]
if n == 3:
date_name += ‘年’
if n == 5:
date_name += ‘月’
if n == 4 and int(num) > 0:
date_name += ‘十’
if n == 6 and int(num) > 0:
date_name += ‘十’
print(date_name,‘222’)
n += 1
date_name += ‘日’
print(date_name,‘3333’)
return date_name
date_name = get_date_change(now_date)
print(date_name,‘444’)
Word 模板文件复制到指定文件夹下
self.gv_1 = r’E:\data’
import os
def get_table_load():
load = self.gv_1
list = os.listdir(load)
table_load = 0
for data in list:
if ‘员工收入证明文件申请’ in data:
table_load= os.path.join(load,data)
return table_load
table_load = get_table_load()
word 文件路径获取, 已新建并存放到指定文件夹下
import os,shutil
def get_load():
load = os.path.join(self.gv_1,‘证明文件’)
wd_load = os.path.join(load,str(name+’’+number+’.docx’))
pdf_load = os.path.join(load,str(name+’
’+number+’.pdf’))
#判断该文件是否存在
if os.path.exists(wd_load):
os.remove(wd_load)
shutil.copy(table_load,wd_load)
return wd_load,pdf_load
wd_load,pdf_load = get_load()
Word 指定位置数据插入, 用唯一值替换模板中需要替换的数据
def get_write_wd(wordpath,date_name):
#获取需要替换的特征值及数据
old_address = ‘111’
new_address = address
old_name = ‘222’
new_name = name
new_name_number = name_number
old_name_number = ‘333’
new_money = money
old_money = ‘444’
new_date = date_name
old_date = ‘555’
#获取接口
word = Dispatch(‘Word.Application’)
#判断该Word是否存在
if os.path.exists(wordpath):
# 获取文本对象
doc = word.Documents.Open(wordpath)
#获取全部数据对象
word.Selection.Find.ClearFormatting()

    word.Selection.Find.Replacement.ClearFormatting()
    #查找特征值替换
    word.Selection.Find.Execute(old_address,False,False,False,Fasle,Fasle,True,1,True,new_address,2)
    word.Selection.Find.Execute(old_name,False,False,False,Fasle,Fasle,True,1,True,new_name,2)
    word.Selection.Find.Execute(old_name_number,False,False,False,Fasle,Fasle,True,1,True,new_name_number,2)
    word.Selection.Find.Execute(old_money,False,False,False,Fasle,Fasle,True,1,True,new_money,2)
    word.Selection.Find.Execute(old_date,False,False,False,Fasle,Fasle,True,1,True,new_date2)
    doc.Close()
word.Quit()

get_write_wd(wd_load,date_name)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值