将文件内容解析为 Office 脚本

问题描述

可以将字符串或对象作为参数发送到在线办公脚本, 任何想法如何只发送数据,例如。另一个带有数据的excel表格, 也许是一些数组?

提示: Power Automate 中有一个动作,它返回“文件内容”,这是一些 JSON

首先,我想,从“获取文件内容”操作中解析所有“文件内容

解决方法

您可以传递有效的 JSON 作为输入并在脚本中接收它。

function main(workbook: ExcelScript.Workbook,file: YourFileInterface) {
    console.log(file.someProperty);
}

interface YourFileInterface {
  // define it
}

-- 如果由于某种原因您需要将文件作为字符串传递,--

您可以在脚本中使用 JSON.parse() 将其解析回 JSON。

这个项目可能有助于观看: https://github.com/sumurthy/officescripts-projects/tree/main/Excel%20and%20Teams%20Invite 此外,请查看其他接收/使用 JSON 参数作为字符串并在脚本中解析的项目。

--

您能否还围绕您的场景添加更多详细信息,以便其他人能够更好地理解该问题?如果您需要进一步的帮助,请添加评论。

,

只需将您的参数标记为数组类型。如果你想保持简单,它可以是一个字符串数组。如果你想更高级,你可以把它做成一个对象数组,甚至是一个对象多维数组,只要对象类型由接口定义即可。

示例:

interface Test {
  prop1: string;
  prop2: number;
}

function main(workbook: ExcelScript.Workbook,param: Test[][]) {
  console.log(param);
}

在 Power Automate 中给出 Run Script nested interface parameter

这允许您发送类型为 { prop1: string; 的参数。 prop2:数量; } 到 Office 脚本。