Excel 任务窗格应用程序中矩阵绑定的最大数据大小是多少



我用microsofts JavaScript API创建了一个excel任务窗格应用程序。我创建了一个绑定到包含一些数据的 excel 工作表。

像这样:

Column1 | Column2
Value1  | Value2
Value1  | Value1
Value2  | Value3

我的应用程序为每列创建了一个图表(带有dc.js)。然后,用户可以使用图表进行筛选,以便应用可以将筛选的数据写入绑定。

在较小的绑定范围内,一切都可以正常工作。当我将绑定范围增加到大约 1500 行和 3 列时,他不会更新绑定数据。Excel不会向我显示一些错误,它什么都不做。

这是我代码的简化版本:

createBinding({ id, callback = ()=>{}, type = 'matrix' }) {
    Office.context.document.bindings.addFromSelectionAsync(type, {id}, callback);
}
// options = { coercionType: "matrix" }
setBindingData({ id, data, options, callback }) {
    Office.select(`bindings#${id}`).setDataAsync(data, options, callback);
}

我认为问题是所有数据的最大大小。但是我想知道最大尺寸是多少?我在堆栈溢出或Microsoft文档中找不到一些东西。

这可能是因为 O365 不允许任何单个操作将应用挂起超过 5 秒。尝试使用异步调用。

我也对这个问题感兴趣,所以进行了一些测试,空单元格和数据之间似乎存在巨大差异。 我可以绑定和读取近400万个空白单元格的数据。 但是当我添加一些简单的数据时,结果是大约90,000个细胞。 装订的形状似乎并不重要,无论是高还是宽。 所以我怀疑你的细胞里的数据可能比我的测试数据多得多。

您也许可以使用 documentselectionchanged 处理程序来解决某些问题。 例如,循环遍历行,并在更改时获取数据。

有关详细信息,请参阅 http://microsoft-office-add-ins.com。

最新更新