【问题标题】:Performance issues access large Excel file访问大型 Excel 文件的性能问题
【发布时间】:2018-09-24 21:19:44
【问题描述】:

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

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

Microsoft Graph 调用如下所示:

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

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

【问题讨论】:

  • 没有看到您正在使用的代码,这个问题太宽泛了,无法回答。影响性能的变量太多了。
  • 您可能想先下载文件并在本地进行解析。

标签: excel microsoft-graph-api


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    相关资源
    最近更新 更多