变量数据类型
当您在流中创建变量时,Power Automate 会根据其内容将它们转换为特定类型。
其中一些数据类型在整个应用程序中被广泛使用,如数字,而其他数据类型(如浏览器实例)则需要明确操作或操作组。
简单数据类型
简单数据类型表示单个值,如文本和数字。 您可以独立使用这些数据类型,也可以利用它们来创建更复杂的数据结构,如列表和数据表。
文本值
这是任何一个类型的文本,从电子邮件地址到 .txt 文件的文本内容。
要创建文本值变量,请使用设置变量操作并在输入参数中填充所需的文本,不使用任何表示法。
数值
数值是应用于数字的类型。 只有此数据类型可用于数学运算。
要创建数值变量,请使用设置变量操作并在输入参数中填充数字,不使用任何表示法。
除了硬编码数值外,您可以在百分号内将数学表达式与变量一起使用。 有关数学表达式的详细信息,请转到使用变量和 % 表示法。
布尔值
此值可以是 True 或 False。
若要创建布尔值变量,请使用设置变量操作并在输入参数中填充表达式 %True% 或 %False%。
此外,您还可以使用逻辑运算符、变量和百分比表示法来创建复杂表达式。 有关逻辑表达式的详细信息,请转到使用变量和 % 表示法。
高级数据类型
高级数据类型表示复杂数据结构。 它们充当您可以作为一个实体访问的其他数据类型的集合。
列表
列表是项的集合。 根据单个列表项的类型,可能有文本值列表、数值列表,等等。 列表数据类型在编程术语中与单维数组等效。
您可以通过创建新列表操作创建列表,然后通过将项添加到列表操作将项目添加到该列表中。
您还可以通过作为输出生成列表的操作创建列表。 例如,从文件读取文本操作可能返回文本值列表,而获取文件夹中的文件操作则返回文件列表。
若要检索列表中的特定项,请使用以下表示法:%VariableName[ItemNumber]%
在下面的示例中,流将先前显示的列表的第一个数存储到新变量中。 请记住,列表第一项的索引应为 0。
常见的做法是使用对于每个操作循环访问列表的各个项。
如果您只需要访问列表的特定部分,使用 %VariableName[StartIndex:StopIndex]% 表示法。 例如,表达式 %List[2:4]% 检索列表的第三和第四项。 StopIndex 位置的项目是切分的边界,不会被检索。
要将列表从开始切分到特定项目,不要设置 StartIndex 值,例如,%List[:4]%。 要将列表从特定索引切分到末尾,不要设置 StopIndex 值,例如,%List[2:]%。
数据表
数据表以表格形式包含数据,在编程术语中与二维数组等效。
数据表包含用来唯一描述每个项的位置的行和列。 数据表可以被视为包含数据行作为项目的列表。
Power Automate 提供创建新数据表操作来生成新数据表。 部署操作后,您可以使用视觉对象生成器来填充值并重命名列标题。
除了创建新数据表操作之外,还有三个操作生成数据表来存储提取的数据:从 Excel 工作表中读取、执行 SQL 语句和从网页中提取数据操作。
另外,您也可以使用设置变量操作和编程数组表示法来创建数据表。 此表示法由多个单维数组组成,以逗号分隔,用大括号括起。 最终表达式必须为以下形式:%{['Product1', '10 USD'], ['Product2', '20 USD']}%。
如果要在使用数组表示法创建新数据表时添加列标题,对第一行使用 ^['ColumnName1', 'ColumnName2'] 表达式。
要向现有表添加新行,使用将行插入到数据表中操作。 或者,创建一个表达式,其中包含数据表的变量名称、加号 (+) 以及要添加在括号中的值。
除了将行插入数据表之外,桌面流还提供各种操作数据表的操作。 您可以在变量操作参考中找到包含这些操作的完整列表。
若要检索数据表的特定项,请使用以下表示法:%VariableName[RowNumber][ColumnNumber]%。 请记住,第一项(行或列)的 RowNumber 和 ColumnNumber 应为 0。
例如,假设流检索 Excel 工作表的内容,并将其存储在 ExcelData 变量中。 若要访问检索表的第二行上的第一个单元格,请使用下面显示的表达式。
备注
ExcelData 变量包含使用从 Excel 工作表中读取操作从 Excel 工作表中提取的值的表。 它包含特定工作表的一些值,而不是整个 Excel 文件。
如果要访问包含列标题的数据表中的特定列,请使用 %ExcelData[rowNumber]['ColumnName']% 表示法。
如果使用 For Each 操作循环浏览数据表,包含当前迭代数据的变量将视为数据行。
与列表类似,您使用 %VariableName[StartRow:StopRow]% 表示法来访问数据表的特定部分。 此表达式仅检索由两个索引定义的行,而 StopRow 位置是切分的边界,不会被检索。
要将数据表从第一行切分到特定行,不要使用 StartRow 值,例如,%Datatable[:4]%。 同样,要将数据表从特定行切分到末尾,不要使用 StopRow 值,例如,%Datatable[2:]%。
数据行
数据行包含数据表的单个行的值。 当使用 For Each 操作循环浏览数据表时,包含当前迭代数据的变量为数据行。
若要检索数据行的特定项,请使用以下表示法:%VariableName[ItemNumber]%
或者,您可以使用 %VariableName['ColumnName']% 表示法。 每个列的名称由从中检索数据行的表定义。
自定义对象
包含属性和值对,可以轻松转换为 JSON 格式。
要创建新的空自定义对象,使用设置变量操作并填充以下表达式 %{{ }}%。 要创建新的自定义对象并使用属性和值对其进行初始化,请使用以下结构的表达式:%{ 'Property1': 'Value1', 'Property2': 'Value2', 'Property3': 'Value2' }%。
重要提示
保留关键字不能用作自定义对象属性。 有关保留关键字的完整列表,请访问桌面流中的保留关键字。
要更新现有属性的值或添加新属性,部署设置变量操作,在设置字段中填充属性名称,然后在到字段中输入值。
除了文字值外,您还可以使用变量来动态设置自定义对象的属性和值。 例如,以下流使用两个变量将新属性添加到新的空自定义对象。
连接器对象
连接器对象存储云连接器中的信息,与自定义对象的工作方式类型。 其属性通常包含其他连接器对象的列表。 访问值的方式与自定义对象中一样,虽然访问嵌套值可能需要更复杂的表达式。
PDF 表信息列表
此数据类型的变量只能通过从 PDF 中提取表操作生成。
列表中的每一项描述一个提取的表,提供有关它的所有基本信息。 要访问特定的数据表信息项,请使用 %VariableName[ItemNumber]% 表示法。
每个列表项提供四个属性,可让您独立获取特定详细信息。 可用属性如下:
- DataTable – 返回提取的表。
- TableStartingPage – 返回包含表开头的文件页的索引。
- TableEndingPage – 返回包含表结尾的文件页的索引。
- TableOrderInPage – 返回表在页面上的顺序。
您可以在变量数据类型属性中找到有关此数据类型属性的详细信息。
要访问特定属性的值,请使用 %VariableName[ItemNumber].PropertyName% 表示法。 例如,以下表达式返回 ExtractedPDFTables 变量的第一项的数据表值。
已知问题和限制
- 问题:当数据表或数据行单元格包含多行条目时,变量查看器仅显示其第一行。
- 解决方法:无。
实例
Web 浏览器实例 – 包含通过启动新 Internet Explorer 或其他浏览器启动操作创建的浏览器实例。
窗口实例 – 包含通过获取窗口操作创建的窗口实例。
Excel 实例 – 包含通过启动 Excel 操作创建的 Excel 实例。
Outlook 实例 – 包含通过启动 Outlook 操作创建的 Outlook 实例。
连接
SQL 连接 – 包含通过打开 SQL 连接操作建立的 SQL 数据库的连接。
Exchange 连接 – 包含通过连接到 Exchange Server 操作建立的 Exchange Server 的连接。
FTP 连接 – 包含通过打开 FTP 连接和打开安全 FTP 连接操作创建的 FTP 连接。
其他
本节介绍不属于前面任何类别的所有可用数据类型。
常规值
- 常规值 – 当 Power Automate 无法定义变量或输入参数的数据类型时,在设计时使用此数据类型。 常规值会在运行时根据数据转换为其他数据类型。
Active Directory
- Active Directory 条目 – 包含通过连接到服务器操作建立的 Active Directory 服务器的连接。
- 组信息 – 包含指定 Active Directory 组的名称、显示名称、说明和成员。
- 组成员 – 表示指定 Active Directory 组的成员。
- 用户信息 – 包含有关指定 Active Directory 用户的信息,如名字和姓氏、姓名缩写和可分辨名、工作详细信息(公司、部门和职位)、联系信息(电话号码、分机和电子邮件)和位置(国家/地区、城市、州/省、街道地址和邮政编码)。
Amazon Web Services (AWS)
- EC2 客户端 – 包含通过创建 EC2 会话操作创建的 EC2 会话。
- EC2 实例 – 表示检索到的 EC2 实例。
- EC2 实例信息 – 包含有关 EC2 实例的信息。
- 实例状态更改 – 包含有关已启动或已停止的 EC2 实例的信息。
- EBS 快照 – 表示 EBS 快照。
- EBS 卷 – 表示 EBS 卷。
Azure
- Azure 客户端 – 包含通过创建会话操作创建的 Azure 会话。
- Azure 资源组 – 表示检索到的 Azure 资源组。
- Azure 托管磁盘 – 表示检索到的 Azure 磁盘。
- Azure 快照 – 表示 Azure 快照。
- Azure 虚拟机 – 表示检索到的 Azure 虚拟机。
- Azure 虚拟机信息 – 包含有关 Azure 虚拟机的信息。
- Azure 订阅 – 表示检索到的 Azure 订阅。
CMD
- CMD 会话 – 包含通过打开 CMD 会话操作创建的 CMD 会话。
凭据
- 凭据 - 包含通过获取凭据(预览版)操作检索的凭据。
日期和时间
日期/时间 – 包含日期和时间信息。 要通过设置变量操作创建日期/时间变量,请在输入参数中填充表达式 %d"yyyy-MM-dd HH:mm:ss.ff+zzz"%,其中:
表示法 描述 yyyy 年 MM 月 dd 日 HH 小时 mm 分钟 ss 秒 ff 毫秒 zzz UTC 时差 例如,%d"2022-03-25"% 将日期 2022 年 3 月 25 日分配给目标变量。
- 邮件消息 – 表示电子邮件消息。 检索电子邮件操作将填充这些变量。
Exchange
- Exchange 邮件消息 – 表示从 Exchange Server 检索到的电子邮件消息。 检索 Exchange 电子邮件消息操作将填充这些变量。
文件和文件夹
- 文件 – 表示文件。
- 文件夹 – 表示文件夹。
- FileSystemObject – 表示文件夹或文件。 此数据类型用于接受文件夹和文件的输入参数。
FTP
- FTP 文件 – 表示 FTP 文件。
- FTP 目录 – 表示 FTP 目录
OCR
- OCR 引擎 – 包含通过创建 OCR 引擎操作创建的 OCR 引擎。
Outlook
- Outlook 邮件消息 – 表示 Outlook 电子邮件消息。 检索 Outlook 中的电子邮件消息操作将填充这些变量。
终端
- 终端会话 – 包含通过打开终端会话操作创建的终端会话。
XML
- XML 节点 – 包含 XML 文档的内容。 从文件中读取 XML 操作将填充这些变量。
Error
- 错误 – 包含有关桌面流中上次出现的错误的信息。 获取上一个错误操作创建此类型的变量。