我正在使用office.js开发一个excel办公室插件,我从后端服务器获取大量数据,我想在excel上显示。我用
Range.values = [formatted data for excel range]
我将值放在5000的块中,并且当调用上下文同步时,IE或Desktop excel变得如此敏感以至于无法使用它。
应使用Range.values
放置数据点的最小数量,以便UI响应。
答案 0 :(得分:3)
在ExcelApi 1.3中(目前处于测试阶段,但在未来几周内应该是“prod”),我们添加了一个特殊的帮助程序,将值分块为较小的子集并单独设置,以防止Excel无响应。
您可以使用https://appsforoffice.microsoft.com/lib/beta/hosted/Office.js尝试。
根据您的时间表(这是针对您已经发布的内容,或者您正在开发的内容),您可能只是等待Beta转移到Prod,因此您可以使用Beta CDN进行开发现在。请确保您使用最新的(或至少是最近的)每月Excel分支。请注意,目前Excel会将isSetSupported('ExcelApi', 1.3)
报告为false,因为它在技术上是“beta”。但是下个月的发布(无论何时发生)将设置为true,此时它将正式生效,我们将把它推广到产品CDN。
如果你不能等待,你可以实现自己的分块机制。请参阅https://appsforoffice.microsoft.com/lib/beta/hosted/excel-win32-16.01.debug.js,并在其中搜索setRangePropertiesInBulk。在我们的实验中,我们发现~1,500是一个非常好的数字,所以我们使用它...但我很想听听你对此的体验,我们当然可以相应地调整这个数字。