如何在Power Automate中将DataTable转为Google Sheets API兼容JSON格式
修改方案
要转换成Google Sheets API要求的格式,你需要调整逻辑,从DataTable中提取每行的列值组成二维数组,再构建指定结构的对象,具体步骤如下:
初始化数组变量
创建一个名为RowValues的数组变量,用于存储每行的列值集合。遍历DataTable的每一行
添加Apply to each操作,选择你的CSVTable作为遍历对象。提取当前行的列值数组
在循环内部,使用表达式ObjectValues(items('Apply_to_each'))获取当前行所有列的值,组成一个一维数组。将这个数组添加到RowValues变量中(使用Append to array variable操作)。构建目标自定义对象
循环结束后,创建一个新的自定义对象,结构如下:{ "range": "Sheet1!A1:D5", "majorDimension": "ROWS", "values": @variables('RowValues') }注意:
range的值需要根据你的实际数据范围调整,列数和行数要匹配RowValues的内容。转换为JSON
使用Variables.ConvertCustomObjectToJson操作,将上述自定义对象转换为JSON,输出到SpreadsheetData变量中。
替代简化写法(直接用表达式构建)
如果不想用循环,也可以直接用表达式一次性处理:
SET TargetObject TO { "range": "Sheet1!A1:D5", "majorDimension": "ROWS", "values": @xpath(xml(json(concat('{"root":', variables('CSVTable'), '}'))), '//root/*/text()') } Variables.ConvertCustomObjectToJson CustomObject: TargetObject Json=> SpreadsheetData
不过这种写法依赖XML转换,当DataTable包含特殊字符时可能出现问题,更推荐用循环的方式实现。
内容的提问来源于stack exchange,提问作者yeat
相关产品推荐
相关产品推荐

