订阅

UiPath StudioX

UiPath StudioX 指南

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

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

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

  1. 两个“使用 Excel 文件”活动以指定包含发票的 Excel 文件以及我们要在其中校正数据的文件。
  2. 一系列“写入单元格”活动,用于将两个列标题添加到对帐 Excel 文件中,并计算一个供应商的发票总和以及该总和与初始摘要中金额之间的差额。我们将添加一个“复制范围”活动,将我们为一个供应商添加的公式复制到工作表中的所有行中,以便可以对所有供应商执行相同的计算,然后再添加一个“写入单元格”活动,以添加总差额到单元格。
  3. 一个“If”活动,我们将在其中添加一个条件,如果有对帐错误(差额总和大于 0),则应创建一个包含详细信息的 CSV 文件并将其通过电子邮件发送到指定的地址。对于电子邮件任务,我们将在“If”活动中添加一个“使用桌面 Outlook App”活动,以指明我们要从中发送邮件的 Outlook 帐户,并在“使用桌面 Outlook App”中添加“发送电子邮件”活动。

第 1 步:设置项目并获取必要的文件。

  1. 使用默认设置创建一个新的空白项目
  2. Download and extract the archive with the automation project in this tutorial using the button at the bottom of this page. Copy the folder data to your project folder.

第 2 步:将 Excel 文件添加到项目中。

  1. 单击“设计器”面板中的“添加活动”plus_iconplus_icon,然后在屏幕顶部的搜索框中找到“使用 Excel 文件”活动并将其选中。“使用 Excel 文件”活动随即添加到“设计器”面板中。
  2. 在活动中:
    • 单击“Excel 文件”字段旁边的“浏览”browse filesbrowse files,然后浏览并选择文件 invoices.xlsx
    • 在“引用为”字段中,输入 Invoices
      您已指明将使用自动化中称为“Invoices”的文件 invoices.xlsx。
  3. 单击“使用 Excel 文件”活动中的“添加活动”plus_iconplus_icon,然后添加另一个“使用 Excel 文件”活动。
  4. 在第二个活动中:
    • 单击“Excel 文件”字段旁边的“浏览”browse filesbrowse files,然后浏览并选择文件 reconcile.xlsx
    • 在“引用为”字段中,输入 Rec
      您已指明将使用自动化中称为 Rec 的文件 reconcile.xlsx。

第 3 步:将数据复制到对帐文件中。

  1. 单击第二个“使用 Excel 文件”中的“添加活动”plus_iconplus_icon,然后在屏幕顶部的搜索框中找到“读取 CSV”活动。该活动已添加到“使用 Excel 文件”活动中。
  2. In the Read CSV activity:
    • 单击“从文件读取”字段旁边的“浏览”browse filesbrowse files,然后浏览至文件 summary.csv并将其选中。
    • 单击“输出到”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “Summary [工作表]”。此字段将更新为您选择的“[Rec] Invoices”
      您已指明要将数据从 CSV 文件 summary.csv 复制到“Summary”工作表中的“Rec”文件。
  3. 在“读取 CSV”活动下方第二个“使用 Excel 文件”活动中单击“添加活动”plus_iconplus_icon,然后在屏幕顶部的搜索框中找到“复制范围”活动。“复制范围”活动随即添加到“使用 Excel 文件”活动中。
  4. 在“复制范围”活动中:
    • 单击“来源范围”字段右侧的“加号”plus buttonplus button,然后选择“Invoices” > “[Invoices] Invoices”。您的选择在该字段中显示为“[Invoices] Invoices”。
      您已指明要从文件“Invoices”中复制“Invoices”工作表。
    • 单击“目的范围”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “Invoices [工作表]”。您的选择在该字段中显示为“[Rec] Invoices”。
      您已指示要将复制的范围粘贴到“Rec”文件中的“Invoices”工作表中。

步骤 4:进行必要的计算以比较数据。

  1. 在“活动”面板中,选择“Excel”选项卡,然后将“写入单元格”活动拖放到第二个“使用 Excel 文件”中“复制范围”下方。“写入单元格”活动随即添加到“设计器”面板中。
  2. 在“写入单元格”活动中:
    • 单击“写入内容”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入文本 Calculated Amount
    • 单击“写入位置”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格在 Excel 中打开。选择单元格 C1,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C1”
      您已指明要让“Rec”文件的“Summary”工作表中 C 列的第一个单元格包含文本 Calculated Amount
  3. Add a second Write cell activity below the previous one and, in the activity::
    • 单击“写入内容”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入文本 =IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "")
    • 单击“写入位置”字段右侧的“加号”plus buttonplus button,然后选择“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. Add a third Write cell activity below the previous one and, in the activity::
    • 单击“写入内容”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入文本 Difference
    • 单击“写入位置”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 D1,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!D1”
      您已指明要让“Rec”文件的“Summary”工作表中 D 列的第一个单元格包含文本 Difference
  5. Add a fourth Write cell activity below the previous one and, in the activity::
    • 单击“写入内容”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入文本 =IF(A2 <> "", C2-B2, "")
    • 单击“写入位置”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格随即在 Excel 中打开。选择单元格 D2,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!D2”
      您已指明要让“Rec”文件的“Summary”工作表中的 D2 包含公式 =IF(A2 <> "", C2-B2, "")。此公式会检查供应商单元格 (A2) 是否不为空,并计算“Summary”工作表 C2 和 B2 单元格中值的差额。
  6. 单击最后一个“写入单元格”活动下面的“添加活动”plus_iconplus_icon,然后在屏幕顶部的搜索框中找到“复制范围”活动并将其选中。“复制范围”活动随即添加到“设计器”面板中。
  7. 在“复制范围”活动中:
    • 单击“来源范围”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格在 Excel 中打开。选择范围“C2:D2”,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C2:D2”
    • 单击“目的范围”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格随即在 Excel 中打开。选择范围 C3-D20,然后单击“确认”。该字段将更新为您选择的“[Rec] Summary!C3-D20”
    • 从“复制内容”下拉菜单中,选择“公式”
      您已指明要将复制的范围 C2:D2 中的公式粘贴到工作表的同一列中。
  8. 在“活动”面板中,选择“Excel”选项卡,然后将“写入单元格”活动拖放到最后一个“复制范围”活动下面。“写入单元格”活动随即添加到“设计器”面板中。
  9. 在“写入单元格”活动中:
    • 单击“写入内容”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入公式 =SUM(Summary!D:D)
    • 单击“写入位置”字段右侧的”加号“plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格在 Excel 中打开。选择工作表“Invoices”,然后选择单元格 F1,然后单击“确认”。该字段将更新为您选择的“[Rec] Invoices!F1”
      您已指明要让“Rec”文件的“Invoices”工作表中 F 列中第一个单元格包含公式 =SUM(Summary!D:D)。该公式会将“Summary”工作表中 D 列中的差异总和添加到“Invoices”工作表中的 F1 单元格中。

步骤 5:如果差异总和大于 0,请发送一封电子邮件,其中包含有关对帐的详细信息。

  1. 单击最后一个“写入单元格”活动下面的“添加活动”plus_iconplus_icon,然后在屏幕顶部的搜索框中找到并选择“If”。“If”活动随即添加到“设计器”面板中。
  2. 在“If”活动中,单击“条件”字段右侧的“加号”plus buttonplus button,然后选择“条件生成器”
  3. 在“条件生成器”中,添加条件“如果差的总和大于 0”:
    • 单击左侧字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “在 Excel 中指定”。电子表格随即在 Excel 中打开。选择“Invoices”工作表,接着选中单元格 F1,然后单击“确认”。该字段将更新为您选择的“[Rec] Invoices!F1”
    • From the drop-down menu in the middle, select greater than.
    • 单击右侧字段右侧的“加号”plus buttonplus button,选择“数字”,输入 0 并单击两次“保存”
      如果满足此条件,程序将执行您在 If 活动的 Then 分支中添加的活动。
  4. 在“活动”面板中,选择“CSV”选项卡,然后将“写入 CSV”活动拖放到 If 活动的 Then 分支中。“写入 CSV”活动随即添加到“设计器”面板中。
  5. In the Write CSV activity:
    • 单击“写入到什么文件”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 reconcile ,然后从文本生成器右侧的“加号”plus buttonplus button 菜单中选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本生成器中的文本已更新为 reconcile Excel Date!YYYYMMDD。最后输入文本 .csv,然后单击“保存”。最终文本应为 reconcile Excel Date!YYYYMMDD.csv
    • 单击“写入自”字段右侧的“加号”plus buttonplus button,然后选择“Rec” > “Summary [工作表]”。此字段将更新为您选择的“[Rec] Summary”
      您已指明要在项目文件夹中创建一个 CSV 文件,其名称中包含单词“reconcile”和今天的日期,然后将“Rec”文件的“Summary”工作表复制到该文件夹中。
  6. 在“活动”面板中,选择“邮件”选项卡,然后将“使用桌面 Outlook App”活动拖放到“写入 CSV”活动下方 If 活动的 Then 分支中。
  7. 在活动中,已经在“帐户”字段中选择了默认的电子邮件帐户。如果要使用其他帐户,请从下拉菜单中选择。
    在“引用为”字段中,保留默认值 Outlook 作为自动化中引用帐户时使用的名称。
  8. 在“活动”面板中,将“发送电子邮件”活动拖放到“使用桌面 Outlook App”活动中。
  9. 在"发送电子邮件"活动中:
    • 单击“发件人帐户”字段右侧的“加号”plus buttonplus button,然后选择“Outlook”
    • 单击“收件人”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器窗口中,输入电子邮件的接收地址。例如,您可以输入自己的电子邮件地址,将电子邮件发送给自己。如果您保留“草稿”选项为选中状态,则自动化不会发送电子邮件,而是会将电子邮件保存到 Outlook“草稿”文件夹。
    • 单击“主题”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器窗口中,输入 Reconciliation errors for,然后从文本生成器右侧的“加号”plus buttonplus button菜单中,选择“项目笔记本(笔记)” > “Date [工作表]” > “Today [单元格]”。文本生成器中的文本已更新为 Reconciliation errors for Date!Today
    • 单击“正文”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器窗口中,输入电子邮件正文的文本,例如 One or more suppliers have reconciliation errors. See attached CSV file for details.
    • 对于附件,选择“文件”,然后输入与第 5 步中“写入 CSV”活动中所用文件名相同的文件名reconcile Excel Date!YYYYMMDD.csv。例如,您可以打开“写入 CSV”活动的“写入哪个文件”字段的文本生成器,复制所有文本,然后粘贴在文件附件字段的文本生成器中。
  1. 在 StudioX 功能区中单击“保存”,以保存自动化,然后单击“运行”来执行此自动化。

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

下载示例

11 个月前更新


另请参阅

教程

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


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。