微软最近宣布支持直接在 Excel 中使用 JavaScript 创建自定义函数,目前为开发者预览版。这一特性超出了现有微软 Office JavaScript API 的范围,这组 API 仅限于构建与 Office 应用程序中的对象模型发生交互的插件或 Web 应用程序。
微软 Office 团队创建了一个 GitHub 代码库,演示如何在 Excel 中使用 JavaScript 创建自定义函数。示例代码库将功能分为四类:
- JavaScript:自定义函数源代码
- JSON:Excel 用来显示可用自定义函数的元数据
- HTML:引用相关 JavaScript 源代码的预览发布机制以及初始化自定义函数的方法
- XML:告诉 Excel 有关自定义函数及其资源的位置和命名空间
自定义函数没有相关的用户界面,开发人员不应该尝试操纵 DOM。开发团队希望在最终发布此功能之前删除用于自定义函数初始化的 HTML 文件。
支持 Promise 等现代 JavaScript 特性,允许开发人员将自定义函数定义为同步函数,以便快速求值,或定义成异步函数,用于可能需要一段时间才能完成的计算。Streams 是一种异步 Promise,它可以多次返回值,而不仅仅是一次,这也是 Excel 自定义 JavaScript 函数的一个选项。
Excel 的 JavaScript 同样利用了微软 Edge 浏览器所使用的 Chakra JavaScript 引擎。
自定义函数目前仅支持 Windows、Mac 和 Excel Online 的开发者预览版 Excel,不适用于移动设备上的 Excel 或生产版本的 Excel。
这一特性带来了与 Google Sheet 类似的一些功能,Google Sheet 已经支持使用JavaScript 来自定义函数。
TypeScript 用户也可以编写自定义 JavaScript 函数,只不过要先转成 JavaScript。微软不打算在 Excel 中提供直接的 TypeScript 支持。
尽管在 Excel 中自定义 JavaScript 函数没有正式的产品发布日期,但对这一特性感兴趣的用户应该尝试此预览版本,并向 Office 团队提供反馈。
查看英文原文: Microsoft Announces JavaScript Support for Excel Custom Functions
评论