分享

第七讲:Excel操作自动化

 一兵个人图书馆 2023-02-25 发布于河南
在我们的日常工作过程中,有时我们可能会需要处理一些 Excel 数据表格,而当数据量比较大的时候,整个处理过程就可能会涉及到大量的重复性操作,而且还比较容易出错,那么能不能让 RPA 自动帮助我们完成这些操作呢?
         
答案是可以的。接下来,我们就一起来学习一下如何利用 RPA 来处理Excel数据表格。
         
首先,我们打开影刀 RPA,在左侧指令面板中,我们可以看到 Excel / WPS表格 这个指令集,其中包含的就是 Excel 表格数据处理的所有指令,接下来我们就一起来看一下,其中一些比较常用的指令。
         
启动 Excel
         
跟在网页上进行操作时需要首先有一个网页对象一样,我们在处理 Excel 之前,也需要先创建一个 Excel 对象,我们可以通过启动Excel指令来创建一个 Excel 对象。
         
在指令的配置面板中,我们需要做如下配置:
         
1. 选择启动方式。这里有两种方式:新建 Excel 和打开已有 Excel。
2. 配置 Excel 文件路径。这里如果在启动方式选择新建 Excel 的话,那么启动之后,RPA 新建一个 Excel 表格,当你后续需要保存的时候,RPA 就会自动保存到你配置的这个路径上。而如果启动方式选择的是打开已有 Excel,那 RPA 就会根据你配置的 Excel 文件路径将其打开。
3. 选择驱动方式。这里就是告诉 RPA 用什么软件来打开 Excel,比如 Office 或者 WPS,如果你电脑上没有安装这两个软件的话,你可以选择使用 openpyxl,这样 RPA 也是可以处理 Excel 的,没有什么特别情况的话,你可以使用默认的自动检测,RPA 会根据具体情况来决定具体使用哪一个软件。
4. 是否可视化。用于控制可视化操作是否用户可见,若取消勾选,保存之后必须要记得关闭Excel,否则该 Excel 就会一直占用计算机资源。
5. 自动更新外部链接。用于处理启动Excel时的更新提示,建议勾选可视化。
6. 配置 Excel 对象变量。在指令输出中给 Excel 对象变量取一个变量名,以便 RPA 临时保存创建好的 Excel 对象,同时也方便我们后面对该变量进行引用。
         
获取当前激活的 Excel 对象
         
如果我们已经手动打开了某个 Excel 数据表格,那么我们就可以调用获取当前激活的 Excel 对象指令来获取一个 Excel 对象,同样地,为了让 RPA 可以帮我们把这个 Excel 对象临时保存起来以便我们后续使用,我们需要给该 Excel 取一个变量名。
         
保存 Excel
         
当RPA帮我们处理完一个Excel表格之后,我们可以使用保存/另存Excel指令来将该 Excel 保存起来,在保存之前我们需要告诉 RPA 要保存的是哪个 Excel 对象,也就是上面创建的 Excel 对象的变量名。
         
关闭 Excel
         
这个就很好理解了,当 RPA 处理完 Excel 之后,我们有时想要它关闭掉,这个时候我们就使用关闭 Excel指令,在指令面板中我们需要对其进行一些配置,比如是关闭所有的 Excel 还是指定的某个 Excel,如果是关闭所有,那相当于直接把 Office 或者 WPS 这个软件强行关闭了,此时,注意要先保存一下,如果是关闭指定的 Excel,我们就需要配置一下 Excel 对象,以及是否保存,当然也可以另存为一个新的路径。
         
从 Excel 中读取内容
         
有了 Excel 对象之后,我们就可以读取 Excel 中的内容了,具体读取方式有哪些呢?我们可以看下面这个表格:

读取方式
相关配置项
输出结果
备注
单元格
单元格行号和列名
Excel 中指定单元格中内容
行号
Excel 中指定行的内容
输出结果为一个一维列表,如['A','B','C']
列名
Excel 中指定列的内容
输出结果为一个一维列表,如['A','B','C']
区域
起始行号和列名
末尾行号和列名
Excel 中指定区域的内容
输出结果为一个二维列表,如:
[['A','B','C'],['D','E','F']]
已使用区域
Excel 中所有包含内容的区域的内容
已使用区域指的是 Excel 中有内容部分的左上角到右下角区域,其输出结果为一个二维列表,如:
[['A','B','C'],['D','E','F']]
Excel中指定区域
Excel 中我们手动选定部分的内容
                 
使用这种方式时,RPA 会引导我们在Excel 中手动选定一个区域,并读取该区域的数据,其输出结果可能为以上任何一种情况,具体情况由我们选定的区域决定。

当然,以上表格中主要突出的是不同的 Excel 读取方式,无论哪种方式我们都还是需要先配置一下 Excel 对象,同时指定好用于临时存储读取出来的内容的变量。
         
此外,在进行内容读取时,我们可以选择配置一下读取的是 Excel 中哪个 Sheet 页中的内容,如果不配置,则默认为当前激活的 Sheet 页。
         
向 Excel 中写入内容
         
既然我们可以读取 Excel 数据表格中的内容,那么,相应地,我们也可以往 Excel 中写入一些内容。具体有哪些写入方式呢?同样地,我们也可以看下面这个数据表格:

写入方式
相关配置项
写入方式
备注
区域
起始行号和列名
写入的内容格式可以为一个一维列表或者一个二维列表,具体可以根据需要写入的范围来决定。
                 
如果想在某一行填入数据,那就需要使用一维数组,如:['A','B','C']
                 
十分需要大家注意的是,使用区域写入的方式时,如果想在某一列写入数据,也必须使用二维列表,如:[['A'],['B'],['C']]
                 
如果想在一个区域填入数据,同样需要使用二维列表,如:
[['A','B','C'],['D','E','F']]
                 
注:当填入数据为列表时需要启用 Python 表达式模式。
当写入方式为插入一行和覆盖一行,需要指定起始列名和行号
                 
当写入方式为追加一行时,仅需要指定列名
1追加一行:在最后一个非空行的下一行写入
1插入一行:在目标行之前插入一行内容
1覆盖一行:在指定行覆盖写入
写入内容必须为一个一维列表,如['A','B','C'],需要启用Python 表达式模式。
                 
                 
当写入方式为插入一列和覆盖一列,需要指定起始行号和列名
                 
当写入方式为追加一列时,仅需要指定列名
1追加一列:在最后一个非空的下一列写入
1插入一行:在目标行之前插入一列内容
1覆盖一行:在指定列覆盖写入
写入内容必须为一个一维列表,如['A','B','C'],需要启用Python 表达式模式。

同样地,以上表格中主要突出的是不同的 Excel 写入方式,无论哪种方式我们都还是需要先配置一下 Excel 对象。
         
此外,在写入内容时,我们可以选择配置一下写入到是 Excel 中哪个 Sheet 页中的内容,如果不配置,则默认为当前激活的 Sheet 页。
         
循环 Excel 中的内容
         
除了读取内容和写入内容之外,我们还可以逐行或者逐列来读取内容,具体读取方式是使用循环Excel内容指令,具体用法可以看下方表格:

循环方式
相关配置项
循环过程
起始行号
结束行号
                 
依次读取每行内容,一行内容为一维列表格式,如:['A','B','C']
起始列名
结束列名
依次读取每列内容,一列内容为一维列表格式,如:['A','B','C']
区域
起始行号和起始列名
末尾行号和末尾列名
依次读取指定区域内每行内容
已使用区域
依次遍历已使用区域内每行内容
Excel中指定区域
依次遍历Excel中指定区域内每行内容

以上表格中突出的主要是循环方式,除此之外,我们还需要配置一下循环项变量和循环行号,其中循环项变量用于读取循环过程中读取到的内容,循环行号用于记录当前循环到那一行了。
         
跟读写一样,我们也可以选择配置一下写入到是 Excel 中哪个 Sheet 页中的内容,如果不配置,则默认为当前激活的 Sheet 页。
         
Excel 的拷贝与粘贴
         
跟我们手动操作一样,RPA 也支持 Excel 内容的拷贝和粘贴。
         
想要拷贝 Excel 中的内容,我们可以使用拷贝Excel内容指令,具体用法如下:

拷贝方式
相关配置项
备注
单元格
行号和列名
拷贝某一个特定单元格内容
行号
                 
拷贝指定行的内容
列名
拷贝指定列的内容
区域
起始行号和起始列名
末尾行号和末尾列名
拷贝指定区域的内容
已使用区域
拷贝已使用区域的内容
Excel中指定区域
拷贝Excel中指定区域的内容
         
拷贝完之后,我们一般会使用粘贴Excel内容指令,来将已拷贝的内容拷贝到同一个Excel表格或者另一个Excel表格中,在粘贴指令中我们需要进行以下配置:
         
1. Excel对象。
2. 单元格行号。从哪一行开始粘贴,行号获取可以参考下面的获取 Excel 行列。
3. 单元格列号。从那一列开始粘贴,列号获取可以参考下面的获取 Excel 行列。
4. 选择性粘贴。选择粘贴的内容、格式等等,默认是全部。
5. 粘贴运算。
6. 是否跳过空单元。
7. 是否转置。
         
跟读写一样,我们也可以选择配置一下写入到是 Excel 中哪个 Sheet 页中的内容,如果不配置,则默认为当前激活的 Sheet 页。
         
获取 Excel 行列
         
当我们在对 Excel 数据表格进行读写、循环、拷贝与粘贴操作时,有时我们需要动态获取 Excel 的行号或者列名信息,这种情况下,我们可以考虑使用以下指令。
         
1. 读取总行数。
2. 获取第一个可用行。
3. 获取行上第一个可用列。
4. 获取列上第一个可用行。
5. 获取第一个可用列。
6. 获取行上第一个可用列。
7. 获取最后一列。
         
跟读写一样,我们也可以选择配置一下写入到是 Excel 中哪个 Sheet 页中的内容,如果不配置,则默认为当前激活的 Sheet 页。
         
其他 Excel 指令
         
以上我给大家讲解了一些常用的 Excel 指令,这些指令基本上已经能覆盖大部分的业务场景了,当然实际的开发过程中,大家如果有复杂的需求,可以直接在影刀的 Excel/WPS表格指令集中按类别找一下相应的指令,然后双击该指令,查看使用说明即可。
                   

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多