性能问题访问大型Excel文件

时间:2018-04-14 19:12:21

标签: excel microsoft-graph

我们有一个大型Excel文件(~10k行),只有几个列在SharePoint Online上托管。其中一列是电子邮件地址,我们希望根据当前用户过滤此列。

使用Microsoft Graph的JavaScript网页会读取所有行。这是非常慢的(有时候> 20秒),因为我们读取整个文件并使用客户端代码进行过滤(通常少于50行的10k行)

Microsoft Graph调用如下所示:

/v1.0/sites/{site}/drives/{id{/items/{id}/workbook/tables/2/rows

任何可能有助于提高性能的建议,例如使用视图,过滤器,网址参数或其他内容(如查找表,powerquery或powerpivot)以某种方式索引Excel和过滤服务器端?

1 个答案:

答案 0 :(得分:1)

您可以使用表格列Filter API来过滤值。

POST /workbook/tables/{id|name}/columns/{id|name}/filter/apply
    {
        filterOn: "Values",
        values: ["email@mail.com", "email2@mail.com"]
    }

然后,您可以使用this API读取可见范围。

您可以在最后清除过滤器。

如果没有,您只需从未过滤的表中读取您感兴趣的列值即可。这将减少有效负载并有助于提高性能。