【发布时间】:2020-06-19 20:34:06
【问题描述】:
我想将不同大小的自定义设置数据保存到 excel 设置中。 但是当自定义设置太大时,saveAsync 不会保存,这是意料之中的 - 每个加载项有 2mb 的限制。
https://docs.microsoft.com/en-us/javascript/api/office/office.settings?view=word-js-preview
这是我当前的代码:
const bigJsonString = "Very big string";
const jsonObject = JSON.parse(stringValue);
Office.context.document.settings.set('mydata', jsonObject);
Office.context.document.settings.saveAsync((result)=>{
...
});
我知道 saveAsync 会使用结果调用回调方法。但不知何故,它适用于 Office 365,但不适用于 Excel 桌面。
我想测量 jsonObject 或 bigJsonString 的大小,如果超过 2mb,则停止 set 和 saveAsync em> 调用
类似这样的:
const bigJsonString = "Very big string";
const jsonObject = JSON.parse(stringValue);
if(GetSize(jsonObject) > 2){
// acknowledge user that add-in can't save customsetting.
} else {
Office.context.document.settings.set('mydata', jsonObject);
Office.context.document.settings.saveAsync((result)=>{
...
}
});
Office-JS 如何测量设置对象的大小? (我想模仿)
更新(旁注):
根据下面的链接,微软似乎取消了这个 2mb 限制。
【问题讨论】:
标签: excel office-js office-addins