为什么我在 Excel 工作簿中丢失了加载项的保存设置

问题描述

当我们在用户之间共享工作簿时,我们遇到了有关保存设置的问题。当我们共享工作簿时,我们有时会注意到,当不同用户使用相同版本的加载项打开工作簿时,保存的设置会丢失。我们了解到,使用共享文件夹旁加载加载项时可能会发生这种情况。但是,当我们使用 AppSource 时,我们观察到当用户从从应用程序内安装的加载项(在 Excel 中获取加载项选项)创建工作簿并与安装加载项的人共享时,设置会丢失办公商店(网络)。

谁能解释一下我们使用 Excel API 保存和读取设置时的依赖关系是什么?

这是我们保存设置的方式:

 saveData(data) {
      try {
        Office.context.document.settings.set("presets",JSON.stringify(data));
        Office.context.document.settings.saveAsync();
      } catch (e) {
        console.error(e);
      }
  }

这是我们读取设置的方式:

  getSavedData() {
    return JSON.parse(Office.context.document.settings.get('presets'));
  }

解决方法

感谢您的提问,建议使用refreshAsync方法读取设置,您可以试试这个:

Office.context.document.settings.refreshAsync((result: Office.AsyncResult<Office.Settings>) => {
      savedData = result.value.get('presets');
});

谢谢,Office 平台团队。