- 概述
- 应用程序事件
- 流程图生成器
- 标注
- 复杂场景
- 凭据
- Data Service
- 表单
- FTP
- IPC
- Automation Ops 管道
- 暂留
- 系统
- 发行说明
- 项目兼容性
- 受支持的字符编码
- “正则表达式构建器”向导
- 添加数据列
- 添加数据行
- 添加日志字段
- 加减日期
- 添加事务项目
- 添加队列项目
- 将项目附加至集合
- 将项目附加至列表
- 附加行
- 提示音
- 中断/退出循环
- 浏览文件
- 浏览文件夹
- 构建集合
- 构建数据表
- 批量添加队列项目
- 更改文本大小写
- 更改类型
- 检查 False
- 检查 True
- 清除数据表
- 从集合到数据表
- 注释
- 压缩文件/Zip 文件
- 复制文件
- 复制文件夹
- 合并文本
- 注释掉/禁用的活动
- 继续/跳过当前
- 创建文件
- 创建文件夹
- 创建列表
- 自定义输入
- 删除
- 删除文件
- 删除文件夹
- 删除存储文件
- 删除队列项目
- 禁用本地触发器
- Do While 循环
- 从 URL 下载文件
- 下载存储文件
- 启用本地触发器
- 评估业务规则
- 存在于集合中
- 提取/解压缩文件
- 从文本中提取日期和时间
- 提取文本
- 文件更改触发器
- 文件已存在
- 筛选集合
- 筛选数据表
- 文件夹存在
- 遍历循环
- 适用于文件夹中的每个文件
- 文件更改触发器 v3
- 查找和替换
- 查找匹配模式
- 对于文件夹中的每个文件夹
- 对于数据表中的每一行
- 将日期格式设置为文本
- 为值添加格式
- 从文本中生成数据表
- 获取资产
- 获取凭据/获取 Orchestrator 凭据
- 获取当前作业信息
- 获取环境文件夹
- 获取环境变量
- 获取文件信息
- 获取文件夹信息
- 获取作业
- 获取进程
- 获取行项目
- 获取密码
- 获取事务项目
- 获取用户名/密码
- 获取队列项目
- 全局变量更改触发器
- 输入对话框
- 调用代码
- 调用 COM 方法
- 调用 PowerShell
- 调用流程
- 调用 VBScript
- 调用工作流文件
- 是否为文本匹配
- 联接数据表
- 终止进程
- 启动工作流交互
- 列出存储文件
- 日志消息
- 查找数据表
- 手动触发器
- 合并集合
- 合并数据表
- 消息框
- 修改日期
- 修改文本
- 移动文件
- 移动文件夹
- 多重分配
- 向队列新增项目
- 通知全局变量已更改
- Orchestrator HTTP 请求
- 输出数据表
- 并行
- 并行的遍历循环
- 存在路径
- 推迟事务项目
- 流程终止触发器
- 流程启动触发器
- 流程跟踪作用域
- 发出警示
- 读取列表项目
- 读取文本文件
- 读取存储文本
- 删除数据列
- 删除数据行
- 删除重复行
- 从集合中删除
- 删除日志字段
- 替换匹配模式
- 重复次数
- 重复触发器
- 重命名文件
- 重命名文件夹
- 报告状态
- 重置计时器
- 恢复计时器
- 重试作用域
- 返回
- 运行本地触发器
- 运行代理
- 运行作业
- 运行并行流程
- 设置资产
- 发送电子邮件通知
- 设置凭据
- 设置环境变量
- 设置密码
- 设置任务状态
- 设置追踪状态
- 设置事务进度
- 设置事务状态
- 应停止
- 拆分文本
- 数据表排序
- 启动计时器
- 开始作业
- 停止作业
- 停止本地触发器
- 停止计时器
- 左侧/右侧的文本
- 要大写/小写的文本
- 时间触发器
- 触发器作用域
- 跟踪对象
- 超时作用域
- 更新行项目
- 更新列表项目
- 上传存储文件
- 等待下载
- 等待队列项目
- 先条件循环
- 工作流占位符
- 写入存储文本
- 写入文本文件
- 添加数据行
- AddQueueItem
- 添加事务项目
- 附加行
- BulkAddQueueItems
- 清除数据表
- 压缩 Zip 文件
- 复制文件
- 创建文件
- 创建文件夹
- 删除文件或文件夹
- 删除队列项目
- 删除存储文件
- 下载存储文件
- 提取解压缩文件
- 筛选数据表
- 获取资产
- 获取凭据
- GetJobs
- 获取队列项目
- GetQueueItems
- 获取本地路径的资源
- 获取行项目
- 获取事务项目
- 调用流程
- 联接数据表
- 列出存储文件
- 查找数据表
- 合并数据表
- 移动文件
- Orchestrator HTTP 请求
- OutputDataTable
- 存在路径
- 推迟事务项目
- 读取存储文本
- 读取文本文件
- 删除数据列
- 删除重复行
- 替换
- 设置资产
- 设置凭据
- SetTransactionProgress
- 设置事务状态
- 数据表排序
- 开始作业
- 停止作业
- 更新行项目
- 上传存储文件
- 等待队列项目
- 写入存储文本
- 写入文本文件
- 测试
- 发行说明
- 关于“测试”活动包
- 项目兼容性
- 项目设置
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

工作流活动
联接数据表
UiPath.Core.Activities.JoinDataTables
描述
该活动会根据联接类型属性中指定的“联接”规则,并使用两张表共有的值来合并两张表格中的行。
项目兼容性
Windows - 旧版 | Windows | 跨平台
跨平台配置
-
“数据表 1” - 要在“联接”操作中使用的第一张表,存储在
DataTable变量中。此字段仅支持DataTable变量。 -
“数据表 2” - 要在“联接”操作中使用的第二张表,存储在
DataTable变量中。此字段仅支持DataTable变量。备注:两张表的提供顺序非常重要,因为这会影响最终生成的表的结构,具体取决于“联接类型”属性字段中所选的选项。
-
“联接类型”- 要使用的“联接”操作类型。可用的选项如下:
- “内部”- 保留“数据表 1”和“数据表 2”中所有满足“联接”规则的行。所有不符合规则的行均会从生成的表中删除。
- “左侧”- 保留“数据表 1”中的所有行以及“数据表 2”中仅满足“联接”规则的值。对于在“数据表 2”中不存在匹配项的“数据表 1”的行,将 null 值插入相应列中。
- “全部”- 保留“数据表·1”和“数据表 2”中的所有行,不考虑是否满足“联接”条件。将 null 值插入两张表中不存在匹配项的行。
备注:
如果“数据表 2”中的列与“数据表 1”中的列名称相同,则“数据表 2”中的列名称将在生成的表中更改为“
[ColumnName]_1”。如果已存在名为“[ColumnName]_1”的列,则该活动会转用尚未使用的连续数字。例如,如果“数据表 1”中包含名为“ID”、“ID_1”和“ID_2”的列,而“数据表 2”中包含名为“ID”的列,则在联接之后,“数据表 2”中的列名称将变为“ID_3”。
-
“联接规则” - 联接表格的条件。选择字段即可打开一个简单的筛选器生成器,您可以在其中添加组成筛选器的规则。
Windows - 旧版 Windows 配置
属性面板
常见
- “显示名称”- 活动的显示名称。
输入
- “数据表 1”- 要在“联接”操作中使用的第一张表,存储在“
DataTable”变量中。该字段仅支持“DataTable”变量。 - “数据表 2”- 要在“联接”操作中使用的第二张表,存储在“
DataTable”变量中。该字段仅支持“DataTable”变量。备注:两张表的提供顺序非常重要,因为这会影响最终生成的表的结构,具体取决于“联接类型”属性字段中所选的选项。
其他
- “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。
选项
- “联接类型”- 要使用的“联接”操作类型。可用的选项如下:
- “内部”- 保留“数据表 1”和“数据表 2”中所有满足“联接”规则的行。所有不符合规则的行均会从生成的表中删除。
- “左侧”- 保留“数据表 1”中的所有行以及“数据表 2”中仅满足“联接”规则的值。对于在“数据表 2”中不存在匹配项的“数据表 1”的行,将 null 值插入相应列中。
- “全部”- 保留“数据表·1”和“数据表 2”中的所有行,不考虑是否满足“联接”条件。将 null 值插入两张表中不存在匹配项的行。
备注:
如果“数据表 2”中的列与“数据表 1”中的列名称相同,则“数据表 2”中的列名称将在生成的表中更改为“
[ColumnName]_1”。如果已存在名为“[ColumnName]_1”的列,则该活动会转用尚未使用的连续数字。例如,如果“数据表 1”中包含名为“ID”、“ID_1”和“ID_2”的列,而“数据表 2”中包含名为“ID”的列,则在联接之后,“数据表 2”中的列名称将变为“ID_3”。
输出
- “数据表”- 此为包含已联接的值的表格,存储在“
DataTable”变量中。该字段仅支持“DataTable”变量。
联接向导
此向导可帮助您配置“联接数据表”活动的属性。您可前往“设计器”面板,然后使用活动主体内的“联接向导”按钮打开该向导。
在向导上半部分,您可以从以下字段中同时选择要在联接操作中使用的“DataTable”变量、“联接”类型和输出变量:
- “输入数据表 1”- 此为包含要使用的第一张表的“
DataTable”变量。 - “输入数据表 2”- 此为包含要使用的第二张表的“
DataTable”变量。 - “输出数据表”- 此为要在其中存储最终生成的表的“
DataTable”变量。 - “联接类型”- 要使用的“联接”操作类型。可用的选项如下:
- “内部”- 保留“数据表 1”和“数据表 2”中所有满足“联接”规则的行。所有不符合规则的行均会从生成的表中删除。
- “左侧”- 保留“数据表 1”中的所有行以及“数据表 2”中仅满足“联接”规则的值。对于在“数据表 2”中不存在匹配项的“数据表 1”的行,将 null 值插入相应列中。
- “全部”- 保留“数据表·1”和“数据表 2”中的所有行,不考虑是否满足“联接”条件。将 null 值插入两张表中不存在匹配项的行。
在向导下半部分,您可以通过添加表示列之间关系的表达式来配置最终生成的表的结构。每个表达式均包含如下三个元素:
- “表 1 的列”- 第一张表中列的名称。该字段仅支持包含列名称的“
String”变量、包含列索引的“Int32”变量或“ExcelColumn”变量。 - “运算”- 定义列之间关系的运算。可用的选项如下:
- “=”- 等于
- “!=”- 不等于
- > - Greater than
- < - Less than
- >= - Greater than or equal to
- <= - Less than or equal to
- “表 2 的列”- 第二张表中列的名称。该字段仅支持包含列名称的“
String”变量、包含列索引的“Int32”变量或“ExcelColumn”变量。
“联接数据表”活动使用示例
为举例说明如何使用此活动,我们创建了一个项目,用于将工作簿的两张工作表联接到该工作簿的另一张工作表中。第一个工作表包含有关订单的详细信息,而第二个工作表包含有关客户的详细信息。这两个工作表有一个公共列 CustomerID,用于联接操作。该项目可从此处下载。
-
创建空“项目”。
-
将“序列”容器拖动至“设计器”面板。
-
拖动“Excel 应用程序作用域”并将 Excel 工作簿路径置于“工作簿路径”属性中。
-
创建两个“
DataTable”变量,一个用于“客户”工作表,另一个用于“订单”工作表。 -
在“Excel 应用程序作用域”内,拖动两个“读取范围”活动。
-
设置两个“读取范围”活动以读取 Excel 工作簿中的这两张工作表,并将工作表存储在相应的变量中。
-
创建“
DataTable”变量来存储生成的表格。 -
在作用域容器中拖动“联接数据表”活动。
-
单击活动主体内的“联接向导”按钮。“联接数据表向导”随即打开。
-
在“输入数据表 1”字段中设置包含“客户”工作表的变量。
-
在“输入数据表 2”字段中设置包含“订单”工作表的变量。
-
在“输出数据表”字段中设置为存储生成的表格而创建的变量。
-
在“联接类型”下拉菜单中,选择“内部”。
-
在“表 1 的列”字段中,输入与“客户”工作表中的“客户 ID”列对应的列。
-
在“运算”下拉菜单中,选择“=”。
-
在“表 2 的列”字段中,输入与“订单”工作表中的“客户 ID”列对应的列。“向导”应如下所示:

-
将“写入范围”活动拖动至“设计器”面板。
-
配置“写入范围”以将包含最终生成的表的“
DataTable”变量写入初始工作簿中的新工作表。 -
最终的工作流应如下所示:
