在 Excel 中使用工作簿函数

可以使用 Excel 中的工作簿函数和 Microsoft Graph,通过使用以下语法调用任何工作簿函数: POST /me/drive/root/workbook/functions/{function-name}。 使用 JSON 对象在正文中提供函数参数。 该函数产生 value,所有 error 字符串均返回到函数结果对象中。 nullerror 值表示该函数执行成功。

有关受支持函数的完整列表,请参阅 Excel.Functions 类。 请参阅特定参数名称和数据类型的函数签名。

重要

  • 使用 range 对象(而不是范围地址字符串)提供范围输入参数。
  • 与大部分 API 中使用的从 0 开始编制的索引不同,索引参数是从 1 开始编制索引。

例如:vlookup

在 Excel 电子表格中,vlookup 函数需要使用以下参数:

  • lookup_value (必需) :要查找的值。

  • table_array (必需) :查找值所在的单元格区域。 请记住,查找值应始终位于范围中的第一列中,以便 VLOOKUP 正常工作。 例如,如果查找值位于单元格 C2 中,则范围应以 C 开头。

  • col_index_num (必需) :包含返回值的区域中的列号。 例如,如果指定 B2: D11 作为区域,应将 B 计为第一列,将 C 计为第二列,依此类推。

  • range_lookup (可选) :指定是希望 VLOOKUP 查找近似值还是完全匹配项的逻辑值。 如果想要近似匹配,可指定 TRUE;如果想要返回值的完全匹配,则可指定 FALSE。 如果未指定任何内容,则默认值将始终为 TRUE 或近似匹配。

在单元格中,vlookup 函数如下所示:

=VLOOKUP (查找值、包含查阅值的区域、包含返回值的区域中的列号,可以选择为近似匹配指定 TRUE 或为完全匹配指定 FALSE)

有关详细信息,请参阅 VLOOKUP Excel 函数的文档。

请求

下面的示例展示了如何使用 Excel REST API 调用 vlookup 函数和传递这些参数。

POST https://graph.microsoft.com/beta/me/drive/root:/book1.xlsx:/workbook/functions/vlookup
content-type: Application/Json
authorization: Bearer {access-token}
workbook-session-id: {session-id}

{
    "lookupValue": "Temperature",
    "tableArray": { "Address": "Sheet1!E1:G5" },
    "colIndexNum": 2,
    "rangeLookup": false
}

响应

HTTP code: 200 OK
content-type: application/json;odata.metadata

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#workbookFunctionResult",
    "@odata.type": "#microsoft.graph.workbookFunctionResult",
    "@odata.id": "/users('f6d92604-4b76-4b70-9a4c-93dfbcc054d5')/drive/root/workbook/functions/vlookup()",
    "error": null,
    "value": "28.3"
}

示例:median

在 Excel 电子表格中,median 函数需要使用一个或多个输入区域。

在单元格中,median 函数如以下示例所示:

=MEDIAN(A2:A6)

有关详细信息,请参阅 MEDIAN Excel 函数的文档。

请求

以下示例演示如何使用 Excel REST API 调用 median 函数和一个或多个输入范围。

POST https://graph.microsoft.com/beta/me/drive/root:/book1.xlsx:/workbook/functions/median
content-type: Application/Json
authorization: Bearer {access-token}
workbook-session-id: {session-id}

{
"values" :  [
        { "address": "Sheet2!A1:A5" },
        { "address": "Sheet2!B1:B5" },
      ]
}

响应

HTTP code: 200 OK
content-type: application/json;odata.metadata

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#workbookFunctionResult",
  "@odata.type": "#microsoft.graph.workbookFunctionResult",
  "@odata.id": "/users('2abcad6a-2fca-4b6e-9577-e358a757d77d')/drive/root/workbook/functions/median()",
  "error": null,
  "value": 30
}