了解Excel表格自动化
【魔像RPA初级课程】了解Excel表格自动化
本节内容
Excel自动化,即自动的操作Excel表格,实现一些简单动作过程。本章节我们将学习:
- 如何向表格内进行数据读写?
- Excel格式调整、公式计算?
- Excel组件和桌面Excel组件区别?
一、如何向表格内进行数据读写?
事先在电脑中准备一张Excel表格,表格内容如下:
1 表格数据读取
1.1 单元格值读取
在组件列表中找到「Excel表格」-「数据读写」-「读取单元格值」组件,拖出至主流程。 在弹出的窗口中按如下输入后点击保存。
选择文件
: 选择需要操作的Excel文件工作表名
: 为sheet1
读取位置
: 写入A2
(也即要读取Excel文件中的单元格值)将读取结果保存给
: 选择读取的单元格值1
将「输出到控制台」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。
输出内容
: 选择读取的单元格值1
点击运行。可以在运行结果区看到读取的结果
1.2 读取整行数据
- 双击「读取单元格值」组件,在弹出的窗口
读取位置
栏更改写入内容。读取一行写行号,例如读取表格中第二行的数据,就在读取位置
写入2
,点击保存。 - 点击运行。在运行结果区会输出获取的数据,为一维数组。
1.3 读取整列数据
- 双击「读取单元格值」组件,在弹出的窗口
读取位置
栏更改写入内容。若获取一列数据,比如第一列,就在读取位置
写入A
,点击保存。 - 点击运行。在运行结果区得到一列的数据,同样为一维数组
1.4 读取表格全部数据
- 双击「读取单元格值」组件,在弹出的窗口
读取位置
栏更改写入内容.如读取表格全部数据,读取位置
写A1:H5
,点击保存。 - 点击运行。运行结果区输出获取的全部数据。
这里为二维数组(每一维元素为一行,行里每一个元素则为一列,也即一维为行,二维为列)
2. 表格数据写入
- 在组件列表中找到「Excel表格」-「数据读写」-「向单元格写入内容」,拖出至主流程
在弹出的窗口中按如下输入后点击保存
选择文件
: 选择需要操作的Excel文件。如要在表格J列11行写入内容,单元格位置
写J11
写入的内容
: 为你好
(或二维数组,=[['张三','20','上海']['李四','19','天津']]
)
关闭Excel文件
- 点击运行。执行成功后打开表格,表格内已写入内容
3. 获取行数列数
在组件列表中找到「获取行数」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。
选择文件
: 选择需要操作的Excel文件将获取到的行数保存给
: 选择获取到的行数1
在组件列表中找到「获取列数」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。
选择文件
: 选择需要操作的Excel文件将获取到的列数保存给
: 选择获取到的列数1
使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。
输出内容
: 选择获取到的行数1
使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。
输出内容
: 选择获取到的列数1
点击运行。在运行结果区可以看到输出的结果
5行8列
PS:获取行数和列数,可以帮助我们在不清楚表格全部行数和列数时,也能获取表格的全部数据
使用「读取单元格值」组件,在弹出的窗口中按如下输入后点击保存。
读取位置
: 写入='A1:H'+str(获取到的行数1)
注意:此次
获取到的行数1
应为变量。
使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。
输出内容
: 为读取的单元格值1
点击运行,在运行结果区可以看到获取到全部结果
二、如何调整表格格式?
1. 调整表格格式
- 在组件列表中找到「Excel表格」-「设置」-「设置格式」,拖出至主流程
在弹出的窗口中按如下输入后点击保存。
选择文件
: 选择需要操作的Excel文件工作表名
: 为sheet1
位置栏
: 写入需要变更的范围,如c2:d5
格式
: 选择文本
背景颜色
: 自定义设置字体颜色
: 自定义设置字体大小
: 自定义设置
关闭Excel文件
- 点击运行。运行成功后打开Excel文件可以看到,c2到d5中的格式已发生变更
三、运行效率说明
单独使用Excel组件
下的如「向单元格写入内容」组件其实包含如下动作:
- 打开指定Excel文件
- 向单元格写入内容
- 保存Excel文件
- 关闭文件
如果大量操作,可能会因步骤1、3、4多次重复执行而导致整体运行效率低下。为防止发生此类问题,可以通过明确使用「打开Excel文件」、「保存Excel文件」、「关闭Excel文件」组件来提高运行效率。
下面举例:做100次写入操作,在表格中A列从1写到100。
3.1 只使用「向单元格写入内容」组件
- 在组件列表找到「次数循环」组件,拖出至主流程
在弹出的窗口中设置规则后点击保存
起始值
: 为1
方式
: 选择递增
递增值
: 为1
结束值
: 为101
将当前索引保存给
: 选择行号
将「向单元格写入内容」组件拖出至主流程,放置在「次数循环」下方,在弹出的窗口中设置属性后点击保存
选择文件
: 选择需要操作的Excel文件工作表名
: 可以自定义,比如写入sheet5
单元格位置
: 写入表达式='a'+str(行号)
写入的内容
: 为=str(行号)
关闭Excel文件
- 点击运行。可以看到大概8秒的时间,在表格中从1写到了100
3.2 明确使用「打开Excel文件」、「保存Excel文件」、「关闭Excel文件」组件
在组件列表中找到「Excel表格」-「打开Excel文件」,拖出至主流程放在「次数循环」组件上方,在弹出的窗口中设置属性后点击保存
选择文件
: 选择需要操作的Excel文件将打开的Excel保存给
: 选择Excel对象1
双击「向单元格写入内容」组件,在弹出的窗口
选择文件
栏选择Excel对象1
,点击保存- 将「保存Excel文件」拖出至主流程,在弹出的窗口
要保存的Excel
选择Excel对象1
,点击保存 - 将「关闭Excel文件」拖出至主流程,在弹出的窗口
要关闭的Excel对象
选择Excel对象1
,点击保存 - 关闭Excel文件
- 点击运行,大概1秒完成,打开表格A列已完成1到100的写入
四、Excel组件和桌面Excel组件的区别?
1. 是否需要安装Office?
Excel组件
: 不需要安装Office也能使用桌面Excel组件
: 需安装Office并激活后才能使用
2. 是否可直接进行公式计算?
Excel组件
: 非桌面Excel组件不支持公式计算,若要计算数值需要单独抓取数据,然后写逻辑进行计算;桌面Excel组件
: 支持简单的公式计算
例: 计算Excel文件sheet1表格中C列年龄的总和
- 要先保证Excel文件sheet1表格中C列单元格格式为数值类型
在组件列表中找到「桌面操作」-「桌面excel操作」-「打开Excel文件(桌面)」,拖出至主流程,在弹出的窗口中按如下输入后点击保存
选择文件
: 选择需要操作的Excel文件将打开的Excel保存给
: 选择Excel对象2
将「向单元格写入内容(桌面)」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存
选择文件
: 选择Excel对象2
工作表名
: 写入sheet1
单元格位置
: 写入c7
写入的内容
: 写入='=sum(c2:c6)'
将「保存Excel文件(桌面)」拖出至主流程,在弹出的窗口中按如下输入后点击保存
要保存的Excel对象
: 选择Excel对象2
将「关闭Excel文件(桌面)」拖出至主流程,在弹出的窗口中按如下输入后点击保存
要保存的Excel对象
: 选择Excel对象2
点击运行,可以看到编辑器操作Excel的过程
3. 「读取单元格值」组件中读取位置的支持不同
Excel组件
: 支持单元格、行、列、范围读取桌面Excel组件
: 仅支持单元格读取和范围读取