我可以拥有一个网站,该网站还可以作为带有 officejs 的 excel 网络插件吗

Can I have a website that also functions as a excel web addin with the officejs

我正在开发一个项目,将数据从 excel 个文件上传到数据库。这是在 vuejs 中。计划还使用 office/excel js 库开发内部 excel 网络插件。

所以我的问题是:

是否可以只开发网络应用程序,然后添加作为 excel 插件加载的功能?这样我就可以使用一个代码库而不是两个。

查看文档/指南(https://docs.microsoft.com/en-us/office/dev/add-ins/quickstarts/excel-quickstart-vue)我想我没有理由不能将下面的内容加载到按需加载的特定组件中,并且当 office.js 脚本标签正确加载。

<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>

window.Office.initialize = () => {
      new Vue({
        render: h => h(App)
      }).$mount('#app');
    };

任何在 react/angular/vue 中有这方面经验的人都可能有用

提前致谢!

是的!这是可能的,就像您描述的那样。因为 modern office add-ins 是用 HTML、JS 和 CSS 构建的,它与任何其他网络应用程序真的没有什么不同。

我鼓励你在走这条路之前想一些事情;可能会为您节省一些时间。

  • Add-ins 有一个非常特殊的表面,需要在特定宽度/而不是整个屏幕分辨率内运行。我强烈建议您用 300 像素的宽度测试 web-app / 确保它确实可用。选择一个响应式框架在这里是不够的 - 你必须明确地考虑如何让你的 add-in 在那个小 space.
  • 中更有用
  • 测试 - 您可能需要多考虑一下测试,因为您将拥有与 office.js 交互并依赖于 web-app 的共享组件。仅供参考 - 这并不难,但需要注意。
  • 条件加载 / 如果 office.js 无法成功初始化,您的 add-in 不应启动。
  • 迭代开发改变了隐私要求/而您的 web-app 只能探查您的用户以接受更多 cookie;或者向他们展示一些使用您的应用程序的新规则,如果您要更改您的 add-in.

总而言之 - 一个代码库,两个应用程序是可能的。