0

我正在尝试在 Office JS 加载项中做一些工作。

我已经通过 yeoman 查看了 Script Lab 和侧载。

除了学习 Office 和 Excel API 本身之外,我还没有找到足够的示例代码来克服学习如何使用 React / Typescript 的困难。

如果有人可以演示脚本实验室“列表工作表”示例的简单扩展,将工作表列表放入任务面板(附加 UI)而不是简单地将它们转储到 console.log(),那将是非常棒的。

此外,还有一个后续问题:我的目标是从 Google 表格应用程序脚本中移植一些代码,以便我们可以在 Excel 中做同样的事情。该项目仅针对一个工作簿,不会分发。是在真正的 Office 加载项上下文中执行此操作并承受侧载(我们真的总是必须运行单独的节点服务器吗!?)还是尝试在 Script Lab 中完成这一切更好?我喜欢 Script Lab 路线的轻松,但我担心因为它贴满了警告,它是用于实验和原型设计而不是生产工作。

4

1 回答 1

1

从本质上讲,Office (Web) 加载项只是一个 Web 应用程序 - 即,任务窗格是包含各种 HTML 元素的画布 (UI),您可以通过使用更新/操作任务窗格的内容JavaScript/TypeScript。因此,您只需指定将包含输出的 HTML 元素,然后使用 JavaScript/TypeScript 设置元素的值,即可将输出写入任务窗格。

例如,您可以span在 HTML 中指定一个元素:

<span id="result"></span>

然后通过脚本填充此元素,如下所示:

$('#result').html('This is the result!');

我创建了一个片段来说明List Worksheets操作的这种方法。您可以使用 Script Lab ( https://aka.ms/getscriptlab ) 自己尝试该代码段。只需安装 Script Lab 插件(免费),然后在导航菜单中选择“导入”,并使用以下 Gist URL:https ://gist.github.com/kbrandl/a4a1e4da51385707863aec0ebdf296f6 。

最后,关于您的后续问题的评论:

  • Script Lab 是一个实验性工具,您可以使用它来了解如何开发 Office 加载项;它不是 Microsoft 官方产品,不受支持,也不打算在生产用例中使用。
  • 要在生产用例中使用外接程序,建议您将外接程序(Web 应用程序)部署到 Web 服务器,然后使用任何可用的方法来发布外接程序。
于 2018-01-28T16:47:10.440 回答