RPA实战:--Word 表格填写信息(证券案例)

324 篇文章 27 订阅
71 篇文章 3 订阅

艺赛旗 RPA10.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1

一、需求:
在这里插入图片描述

如上图所示,文件为 docx 格式,需要从 Excel 表格取出数据,填入上图对应的单元格内。

二、分析:
Excel 取数据,这里我们可以轻松拿到。问题是,我们如何将取出的数据填入到 Word 表格中。因为 Word 里面的表格不同 Excel,在 Excel 里面,我们可以任意填入对应的单元格。但是在 Word 里面,我们并不可以这样快捷的实现。

三、实现方法:

1、若 Word 中的表格并不复杂,且没有众多的格式,如:logo,且客户对格式要求并不太高。我们可以参 使用代码写 Word 表格 ,直接写一个 Word 表格,并将需要填入的数据填写进去。

2、若 Word 中的表格复杂,且带有自定义的格式,且格式是不容许改变。上面的方法就不太适用了。话不多说,代码如下:

import win32com.client
import win32com

word = win32com.client.Dispatch(‘Word.Application’)
word.Visible = 0 # 后台运行
word.DisplayAlerts = 0
wordpath = r’\Mac\Home\Desktop\国金\附件3:证券账户开立申请表(用印版).docx’
wc = win32com.client.constants

获取文本对象

doc = word.Documents.Open(wordpath)

获取全部数据对象

word.Selection.Find.ClearFormatting()
word.Selection.Find.Replacement.ClearFormatting()

查找特征值替换

word.Selection.Find.Execute(‘模板1’, False, False, False,False,False, True, 1, True, ‘上海艺赛旗’, 2)
word.Selection.Find.Execute(‘模板2’, False, False, False,False,False, True, 1, True, ‘123456’, 2)
word.Selection.Find.Execute(‘模板3’, False, False, False,False,False, True, 1, True, ‘test’, 2)

doc.Save()
word.Documents.Close()
word.Quit()
实现思路:
如下图:
在这里插入图片描述
在上图方框中,我们在须填写的单元格,写上了“模板”字样,这样,我们可以把后面替换后的值设为参数,便可实现替换预设的固定字段,且不会影响 Word 的格式。
最终实现如下:
在这里插入图片描述

so,后面的只需要都在 Word 模板中设置好固定的字段,在代码中实现替换并可生成一份需要的文档了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值