【问题标题】:Excel JavaScript API file-system interactions, system calls, and API calls?Excel JavaScript API 文件系统交互、系统调用和 API 调用?
【发布时间】:2020-03-24 16:34:00
【问题描述】:

我正在使用Excel Javascript API 编写一个 Excel 插件。

我想知道三件事:

  1. 如果插件在桌面 Excel 上运行,那么插件可以与本地机器的文件系统交互吗?
  2. 如果加载项在桌面 Excel 上运行,它可以进行系统调用吗?我正在寻找移动一些文件,并可能调用一些已安装的包。
  3. 最后,插件能否将工作表数据(甚至整个工作表)发送到外部 API?更一般地说,插件可以将任意数据发送到某个服务器吗?

如果您对信息感到慷慨,那么了解VSTO Add-ins 也可以实现这些功能中的哪些功能会很棒。

提前感谢您的帮助 - 非常感谢!

【问题讨论】:

标签: excel office-js excel-addins


【解决方案1】:

我不了解 VSTO 加载项,但对于使用 Office JavaScript 库的 Web 加载项:

  1. 没有。加载项是在实际上嵌入在 Excel 中的浏览器中运行的 Web 应用程序。出于安全原因,Web 应用程序无法访问设备的文件系统(某些受限操作除外,例如保存 cookie)。
  2. 没有。与 #1 相同,不允许网络应用执行此操作。
  3. 是的,Web 应用程序可以调用 Internet 上的任何端点并发送数据。例如,您可以读取 Excel 数据并将其作为负载传递给 REST API 的调用。

【讨论】:

    【解决方案2】:

    我假设是,插件对整个文件系统具有最低限度的完全读取访问权限,就好像 Excel 可以访问整个文件系统一样,限制这种情况的方法是限制可以在 JavaScript 中访问的文件夹。

    在 excel 中运行的插件肯定具有写入权限,因此我知道您可以在新位置创建新文件,并且我相信您将能够移动而不是复制和删除相对确定。

    对于如何实现这一点我有点困惑,因为 API 由 Web 服务使用,如果您要存储数据,那么是的,可以创建另一个 API 来执行您想要的操作,但如果是这样的话为什么不直接使用 Web 服务本身来执行您的请求而不是创建另一个 API,因为除非您要通过外部计算机再次调用它,否则这没有意义,但仍然必须从存储初始 API 调用的结果以创建辅助 API。

    【讨论】:

    • 上面的答案增加了很多上下文;因为它是一个 Excel Javascript 插件,它实际上几乎完全是沙盒的!
    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 2018-10-06
    • 2011-10-27
    • 2016-06-23
    • 1970-01-01
    • 2014-12-25
    • 2015-10-22
    • 2020-12-06
    相关资源
    最近更新 更多