了解Excel表格自动化

【魔像RPA初级课程】了解Excel表格自动化

本节内容

Excel自动化,即自动的操作Excel表格,实现一些简单动作过程。本章节我们将学习:

  1. 如何向表格内进行数据读写?
  2. Excel格式调整、公式计算?
  3. Excel组件和桌面Excel组件区别?

一、如何向表格内进行数据读写?

事先在电脑中准备一张Excel表格,表格内容如下:

准备内容

1 表格数据读取

1.1 单元格值读取

  1. 在组件列表中找到「Excel表格」-「数据读写」-「读取单元格值」组件,拖出至主流程。 在弹出的窗口中按如下输入后点击保存。

    • 选择文件: 选择需要操作的Excel文件
    • 工作表名: 为sheet1
    • 读取位置: 写入A2(也即要读取Excel文件中的单元格值)
    • 将读取结果保存给: 选择读取的单元格值1
  2. 将「输出到控制台」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。

    • 输出内容: 选择读取的单元格值1
  3. 点击运行。可以在运行结果区看到读取的结果

1.2 读取整行数据

  1. 双击「读取单元格值」组件,在弹出的窗口读取位置栏更改写入内容。读取一行写行号,例如读取表格中第二行的数据,就在读取位置写入2,点击保存。
  2. 点击运行。在运行结果区会输出获取的数据,为一维数组。

1.3 读取整列数据

  1. 双击「读取单元格值」组件,在弹出的窗口读取位置栏更改写入内容。若获取一列数据,比如第一列,就在读取位置写入A,点击保存。
  2. 点击运行。在运行结果区得到一列的数据,同样为一维数组

1.4 读取表格全部数据

  1. 双击「读取单元格值」组件,在弹出的窗口读取位置栏更改写入内容.如读取表格全部数据,读取位置A1:H5,点击保存。
  2. 点击运行。运行结果区输出获取的全部数据。

    这里为二维数组(每一维元素为一行,行里每一个元素则为一列,也即一维为行,二维为列)

2. 表格数据写入

  1. 在组件列表中找到「Excel表格」-「数据读写」-「向单元格写入内容」,拖出至主流程
  2. 在弹出的窗口中按如下输入后点击保存

    • 选择文件: 选择需要操作的Excel文件。如要在表格J列11行写入内容,单元格位置J11
    • 写入的内容: 为你好(或二维数组,=[['张三','20','上海']['李四','19','天津']]
  3. 关闭Excel文件

  4. 点击运行。执行成功后打开表格,表格内已写入内容

3. 获取行数列数

  1. 在组件列表中找到「获取行数」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。

    • 选择文件: 选择需要操作的Excel文件
    • 将获取到的行数保存给: 选择获取到的行数1
  2. 在组件列表中找到「获取列数」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存。

    • 选择文件: 选择需要操作的Excel文件
    • 将获取到的列数保存给: 选择获取到的列数1
  3. 使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。

    • 输出内容: 选择获取到的行数1
  4. 使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。

    • 输出内容: 选择获取到的列数1
  5. 点击运行。在运行结果区可以看到输出的结果

    5行8列

    PS:获取行数和列数,可以帮助我们在不清楚表格全部行数和列数时,也能获取表格的全部数据

  6. 使用「读取单元格值」组件,在弹出的窗口中按如下输入后点击保存。

    • 读取位置: 写入='A1:H'+str(获取到的行数1)

      注意:此次获取到的行数1应为变量。

  7. 使用「输出到控制台」组件,在弹出的窗口中按如下输入后点击保存。

    • 输出内容: 为读取的单元格值1
  8. 点击运行,在运行结果区可以看到获取到全部结果

二、如何调整表格格式?

1. 调整表格格式

  1. 在组件列表中找到「Excel表格」-「设置」-「设置格式」,拖出至主流程
  2. 在弹出的窗口中按如下输入后点击保存。

    • 选择文件: 选择需要操作的Excel文件
    • 工作表名: 为sheet1
    • 位置栏: 写入需要变更的范围,如c2:d5
    • 格式: 选择文本
    • 背景颜色: 自定义设置
    • 字体颜色: 自定义设置
    • 字体大小: 自定义设置
  3. 关闭Excel文件

  4. 点击运行。运行成功后打开Excel文件可以看到,c2到d5中的格式已发生变更

三、运行效率说明

单独使用Excel组件下的如「向单元格写入内容」组件其实包含如下动作:

  1. 打开指定Excel文件
  2. 向单元格写入内容
  3. 保存Excel文件
  4. 关闭文件

如果大量操作,可能会因步骤1、3、4多次重复执行而导致整体运行效率低下。为防止发生此类问题,可以通过明确使用「打开Excel文件」、「保存Excel文件」、「关闭Excel文件」组件来提高运行效率。

下面举例:做100次写入操作,在表格中A列从1写到100。

3.1 只使用「向单元格写入内容」组件

  1. 在组件列表找到「次数循环」组件,拖出至主流程
  2. 在弹出的窗口中设置规则后点击保存

    • 起始值: 为1
    • 方式: 选择递增
    • 递增值: 为1
    • 结束值: 为101
    • 将当前索引保存给: 选择行号
  3. 将「向单元格写入内容」组件拖出至主流程,放置在「次数循环」下方,在弹出的窗口中设置属性后点击保存

    • 选择文件: 选择需要操作的Excel文件
    • 工作表名: 可以自定义,比如写入sheet5
    • 单元格位置: 写入表达式 ='a'+str(行号)
    • 写入的内容: 为=str(行号)
  4. 关闭Excel文件

  5. 点击运行。可以看到大概8秒的时间,在表格中从1写到了100

3.2 明确使用「打开Excel文件」、「保存Excel文件」、「关闭Excel文件」组件

  1. 在组件列表中找到「Excel表格」-「打开Excel文件」,拖出至主流程放在「次数循环」组件上方,在弹出的窗口中设置属性后点击保存

    • 选择文件: 选择需要操作的Excel文件
    • 将打开的Excel保存给: 选择Excel对象1
  2. 双击「向单元格写入内容」组件,在弹出的窗口选择文件栏选择Excel对象1,点击保存

  3. 将「保存Excel文件」拖出至主流程,在弹出的窗口要保存的Excel选择Excel对象1,点击保存
  4. 将「关闭Excel文件」拖出至主流程,在弹出的窗口要关闭的Excel对象选择Excel对象1,点击保存
  5. 关闭Excel文件
  6. 点击运行,大概1秒完成,打开表格A列已完成1到100的写入

四、Excel组件和桌面Excel组件的区别?

1. 是否需要安装Office?

  • Excel组件: 不需要安装Office也能使用
  • 桌面Excel组件: 需安装Office并激活后才能使用

2. 是否可直接进行公式计算?

  • Excel组件: 非桌面Excel组件不支持公式计算,若要计算数值需要单独抓取数据,然后写逻辑进行计算;
  • 桌面Excel组件: 支持简单的公式计算

例: 计算Excel文件sheet1表格中C列年龄的总和

  1. 要先保证Excel文件sheet1表格中C列单元格格式为数值类型
  2. 在组件列表中找到「桌面操作」-「桌面excel操作」-「打开Excel文件(桌面)」,拖出至主流程,在弹出的窗口中按如下输入后点击保存

    • 选择文件: 选择需要操作的Excel文件
    • 将打开的Excel保存给: 选择Excel对象2
  3. 将「向单元格写入内容(桌面)」组件拖出至主流程,在弹出的窗口中按如下输入后点击保存

    • 选择文件: 选择Excel对象2
    • 工作表名: 写入sheet1
    • 单元格位置: 写入c7
    • 写入的内容: 写入='=sum(c2:c6)'
  4. 将「保存Excel文件(桌面)」拖出至主流程,在弹出的窗口中按如下输入后点击保存

    • 要保存的Excel对象: 选择Excel对象2
  5. 将「关闭Excel文件(桌面)」拖出至主流程,在弹出的窗口中按如下输入后点击保存

    • 要保存的Excel对象: 选择Excel对象2
  6. 点击运行,可以看到编辑器操作Excel的过程

3. 「读取单元格值」组件中读取位置的支持不同

  • Excel组件: 支持单元格、行、列、范围读取
  • 桌面Excel组件: 仅支持单元格读取和范围读取

results matching ""

    No results matching ""