如何在网页中嵌入可显示已插入Task Pane Add-in的Excel工作簿
Excel嵌入网页时正常加载任务窗格外接程序的解决方案
目前默认OneDrive生成的Excel嵌入代码仅支持渲染工作簿本体和内容窗格外接程序,任务窗格因运行在独立沙箱iframe中,会被默认嵌入规则拦截,可通过以下三种方案解决:
- 方案一:使用Office.js自定义嵌入逻辑
注册Azure AD应用获取对应Excel工作簿的访问权限后,在自己的网页中通过Office.js初始化Excel实例,显式调用Office.addin.showAsTaskpane()方法,触发工作簿中已绑定的任务窗格外接程序主动加载。 - 方案二:调整外接程序清单配置
修改外接程序的manifest.xml配置文件:新增适配嵌入场景的<Host>规则,开启SupportsSharedFolders属性,同时在AppDomains节点中添加你嵌入网页的所属域名,解决跨域拦截导致的任务窗格加载失败问题。 - 方案三:业务逻辑重构适配
若你的嵌入场景为公开无身份校验的场景,可以直接将业务逻辑从任务窗格外接程序迁移到内容窗格外接程序,内容窗格天生支持在默认生成的嵌入iframe中正常渲染,无需额外开发配置。
注意:默认生成的OneDrive公开嵌入代码不支持任务窗格加载,不要在默认iframe代码的基础上做无效调试。
内容的提问来源于stack exchange,提问作者David Greenwood
相关产品推荐
相关产品推荐

