studiox
2022.10
false
UiPath logo, featuring letters U and I in white
StudioX 用户指南
Last updated 2024年8月7日

教程:比较 Excel 文件和电子邮件对帐错误

在本教程中,我们将创建一个自动化项目,将包含发票的电子表格中的金额与包含每个供应商摘要的 CSV 文件中的金额进行比较。如果文件之间存在任何对帐错误,我们将创建一个包含详细信息的 CSV 文件,然后通过电子邮件发送该文件。

我们将创建一个包含以下活动的项目:

  1. 两个“使用 Excel 文件”活动以指定包含发票的 Excel 文件以及我们要在其中校正数据的文件。
  2. 一系列“写入单元格”活动,用于将两个列标题添加到对帐 Excel 文件中,并计算一个供应商的发票总和以及该总和与初始摘要中金额之间的差额。我们将添加一个“复制范围”活动,将我们为一个供应商添加的公式复制到工作表中的所有行中,以便可以对所有供应商执行相同的计算,然后再添加一个“写入单元格”活动,以添加总差额到单元格。
  3. 一个“IF 条件”活动,我们将在其中添加一个条件,如果有对帐错误(差额总和大于 0),则应创建一个包含详细信息的 CSV 文件并将其通过电子邮件发送到指定的地址。对于电子邮件任务,我们将在“IF 条件”活动中添加一个“使用 Outlook 桌面应用”活动,以指明我们要从中发送邮件的 Outlook 帐户,并在“使用 Outlook 桌面应用”中添加“发送电子邮件”活动。
  1. 第 1 步:设置项目并获取必要的文件。
    1. 使用默认设置创建一个新的空白项目
    2. 使用此页面底部的按钮,通过本教程中的自动化项目下载并提取存档。将文件夹“data”复制到项目文件夹。
  2. 第 2 步:将 Excel 文件添加到项目中。
    1. 单击“设计器”面板中的“添加活动”docs image,然后在屏幕顶部的搜索框中找到“使用 Excel 文件”活动并将其选中。“使用 Excel 文件”活动随即会添加到“设计器”面板中。
    2. 在活动中:
      • 单击“Excel 文件”字段旁边的“浏览”docs image,然后浏览并选择文件 invoices.xlsx
      • 在“引用为”字段中,输入 Invoices

        您已指明将使用自动化中称为“Invoices”的文件 invoices.xlsx。

    3. 单击“使用 Excel 文件”活动中的“添加活动”docs image,然后添加另一个“使用 Excel 文件”活动。
    4. 在第二个活动中:
      • 单击“Excel 文件”字段旁边的“浏览”docs image,然后浏览并选择文件 reconcile.xlsx
      • 在“引用为”字段中,输入 Rec

        您已指明将使用自动化中称为 Rec 的文件 reconcile.xlsx。



  3. 第 3 步:将数据复制到对帐文件中。
    1. 单击第二个“使用 Excel 文件”中的“添加活动”docs image,然后在屏幕顶部的搜索框中找到“读取 CSV”活动并选中。该活动随即添加到“使用 Excel 文件”活动中。
    2. 读取 CSV 活动中:
      • 单击“从文件读取”字段旁边的“浏览”docs image,然后浏览至文件“summary.csv”并将其选中。
      • 单击“输出到”字段右侧的加号 ,然后选择“Rec”>“Summary [工作表]”。此字段会更新为您选择的“[Rec] 发票”。

        您已指明要将数据从 CSV 文件 summary.csv 复制到摘要工作表中的记录文件。

    3. 在“读取 CSV”活动下方第二个“使用 Excel 文件”活动中单击“添加活动”docs image,然后在屏幕顶部的搜索框中找到“复制范围”活动。“复制范围”活动随即添加到“使用 Excel 文件”活动中。
    4. 在“复制范围”活动中:
      • 单击“来源范围”字段右侧的加号 ,然后选择“Invoices”>“Invoices [工作表]”。您的选择在字段中显示为“发票 [发票]”。

        您已指明要从文件“Invoices”中复制“Invoices”工作表。

      • 单击“目的范围”字段右侧的加号 ,然后选择“Rec”> “Invoices [工作表]”。您的选择在该字段中显示为“[Rec] 发票”。

        您已指明要将复制的范围粘贴到“Rec”文件中的“Invoices”工作表中。



  4. 步骤 4:进行必要的计算以比较数据。
    1. 在“活动”面板中,选择“Excel”选项卡,然后将“写入单元格”活动拖放到第二个“使用 Excel 文件”中“复制范围”下方。“写入单元格”活动随即添加到“设计器”面板中。
    2. 在“写入单元格”活动中:
      • 单击“写入内容”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入文本 Calculated Amount
      • 单击“写入位置”字段右侧的加号 ,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 C1,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C1”。

        您已指明要让“Rec”文件的“Summary”工作表中 C 列的第一个单元格包含文本 Calculated Amount
    3. 在前一个“写入单元格”活动下方添加第二个“写入单元格”活动,并在活动中执行以下操作::
      • 单击“写入内容”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入文本 =IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "")
      • 单击“写入位置”字段右侧的加号 ,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 C2,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C2”。

        您已指明要让“Rec”文件的“Summary”工作表中的 C2 包含公式 =IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "")。此公式会检查供应商单元格 (A2) 是否不为空,并会对“Summary”工作表的单元格 A2 中供应商的“Invoices”工作表 C 列中的值求和。
    4. 在前一个“写入单元格”活动下方添加第三个“写入单元格”活动,并在活动中执行以下操作::
      • 单击“写入内容”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入文本 Difference
      • 单击“写入位置”字段右侧的加号 ,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 D1,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!D1”。

        您已指明要让“Rec”文件的“Summary”工作表中 D 列的第一个单元格包含文本 Difference
    5. 在前一个“写入单元格”活动下方添加第四个“写入单元格”活动,并在活动中执行以下操作::
      • 单击“写入内容”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入文本 =IF(A2 <> "", C2-B2, "")
      • 单击“写入位置”字段右侧的加号 ,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 D2,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!D2”。

        您已指明要让“Rec”文件的“Summary”工作表中的 D2 单元格包含公式 =IF(A2 <> "", C2-B2, "")。此公式会检查供应商单元格 (A2) 是否不为空,并计算“Summary”工作表 C2 和 B2 单元格中值的差额。
    6. 单击最后一个“写入单元格”活动下面的“添加活动”docs image,然后在屏幕顶部的搜索框中找到“复制范围”活动并将其选中。“复制范围”活动随即添加到“设计器”面板中。
    7. 在“复制范围”活动中:
      • 单击“来源范围”字段右侧的加号 docs image,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择范围“C2:D2”,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C2:D2”。
      • 单击“目的范围”字段右侧的加号 docs image,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择范围“C3-D20”,然后单击“确认”。此字段会更新为您选择的“[Rec] Summary!C3-D20”。
      • 从“复制内容”下拉菜单中,选择“公式”

        您已指明要将复制范围 C2:D2 中的公式粘贴到工作表的同一列中。

    8. 在“活动”面板中,选择“Excel”选项卡,然后将“写入单元格”活动拖放到最后一个“复制范围”活动下面。“写入单元格”活动随即添加到“设计器”面板中。
    9. 在“写入单元格”活动中:
      • 单击“写入内容”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入公式 =SUM(Summary!D:D)
      • 单击“写入位置”字段右侧的加号 ,然后选择“Rec”>“在 Excel 中指定”。电子表格随即在 Excel 中打开。选择 Invoices 工作表,接着选择单元格 F1,然后单击“确认”。该字段将更新为您选择的“[Rec] Invoices!F1”。

        您已指明要让“Rec”文件的“Invoices”工作表中的 F 列中第一个单元格包含公式 =SUM(Summary!D:D)。该公式会将“Summary”工作表的 D 列中的差异总和添加到“Invoices”工作表中的 F1 单元格中。


  5. 步骤 5:如果差异总和大于 0,请发送一封电子邮件,其中包含有关对帐的详细信息。
    1. 单击最后一个“写入单元格”活动下面的“添加活动”docs image,然后在屏幕顶部的搜索框中找到并选择“If 条件”。“IF 条件”活动随即添加到“设计器”面板中。
    2. 在“If 条件”活动中,单击“条件”字段右侧的加号 docs image,然后选择“条件生成器”。
    3. 在“条件生成器”中,添加条件“如果差的总和大于 0”:
      • 单击左侧字段右侧的“加号”docs image,然后选择“Rec” > “在 Excel 中指定”。电子表格随即在 Excel 中打开。选择 Invoices 工作表,接着选择单元格 F1,然后单击“确认”。该字段将更新为您选择的“[Rec] Invoices!F1”
      • 从中间的下拉菜单中,选择“大于”。
      • 单击右侧字段右侧的“加号”,选择“数字”,输入 0 并单击两次“保存”

        如果满足此条件,将执行您在 If 活动的 Then 分支中添加的活动。

    4. 在“活动”面板中,选择“CSV”选项卡,然后将“写入 CSV”活动拖放到“If 条件”活动的“Then”分支中。“写入 CSV”活动随即添加到“设计器”面板中。
    5. 在“写入 CSV”活动中执行以下操作:
      • 单击“写入到什么文件”字段右侧的加号 docs image,然后选择“文本”。在文本生成器中,输入 reconcile ,然后从文本生成器右侧的加号 docs image 中,选择“项目笔记本(笔记)”>“Date [工作表]”>“YYYYMMDD [单元格]”。文本生成器中的文本将更新为 reconcile Excel Date!YYYYMMDD。在末尾输入文本 .csv,然后单击“保存”。最终文本应为 reconcile Excel Date!YYYYMMDD.csv
      • 单击“写入自”字段右侧的加号 ,然后选择“Rec”>“Summary [工作表]”。该字段将更新为您选择的“[Rec] 摘要”。

        您已指明要在项目文件夹中创建一个 CSV 文件,其名称中要包含单词“reconcile”和今天的日期,然后将“Rec”文件中的“Summary”工作表复制到该文件中。

    6. 在“活动”面板中,选择“邮件”选项卡,然后将“使用桌面 Outlook App”活动拖放到“写入 CSV”活动下方 If 活动的 Then 分支中。
    7. 在活动中,“帐户”字段中已经选择默认的电子邮件帐户。如果您要使用其他帐户,请从下拉菜单中选择。
      在“引用为”字段中,保留默认值 Outlook 作为在自动化中引用该帐户时使用的名称。
    8. 在“活动”面板中,将“发送电子邮件”活动拖放到“使用桌面 Outlook App”活动中。
    9. 在"发送电子邮件"活动中:
      • 单击“发件人帐户”字段右侧的加号 docs image,然后选择“Outlook”。
      • 单击“至”字段右侧的加号 docs image,然后选择“文本”。在文本生成器窗口中,输入电子邮件的接收地址。例如,您可以输入自己的电子邮件地址,将电子邮件发送给自己。如果您保留“草稿”选项为选中状态,则自动化不会发送电子邮件,而是会将电子邮件保存到 Outlook“草稿”文件夹。
      • 单击“主题”字段右侧的加号 docs image,然后选择“文本”。在文本生成器窗口中,输入 Reconciliation errors for,然后从文本生成器右侧的加号 docs image 菜单选择“项目笔记本(笔记)”>“Date [工作表]”>“Today [单元格]”。文本生成器中的文本将更新为 Reconciliation errors for Date!Today
      • 单击“正文”字段右侧的加号 docs image,然后选择“文本”。在文本生成器窗口中,输入电子邮件正文的文本,例如 One or more suppliers have reconciliation errors. See attached CSV file for details.
      • 对于附件,选择“文件”,然后输入与第 5 步中“写入 CSV”活动中所用文件名相同的文件名 reconcile Excel Date!YYYYMMDD.csv。例如,您可以打开“写入 CSV”活动的“写入哪个文件”字段的文本生成器,复制所有文本,然后粘贴在文件附件字段的文本生成器中。


    10. 在 StudioX 功能区中单击“保存”,以保存自动化,然后单击“运行”来执行此自动化。

    将发票和摘要数据复制到 reconcile.xlsx 文件,执行计算,并且由于发票中的总额与其中一位供应商的摘要中的金额不匹配,reconcile.xsls 文件的摘要表将会复制到名称包含今天日期的 CSV 文件中,该文件将附加到电子邮件中并发送到指定的地址。在该文件中,您可以通过单元格 D3 中大于 0 的值来识别对帐错误的供应商。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。