【问题标题】:I want to use the Ewa API to make calls into methods that are in the Ewa.js / EwaMoss.js script files我想使用 Ewa API 调用 Ewa.js / EwaMoss.js 脚本文件中的方法
【发布时间】:2016-02-10 20:18:42
【问题描述】:

这里记录了 Ewa 命名空间:

https://msdn.microsoft.com/en-us/library/office/ee589018.aspx

它非常易于使用,但某些调用没有记录,也没有示例代码。 Ewa.js 的源代码在这里: https://s1-excel-15.cdn.office.net/x/sc/1662281009__layouts/App_Scripts/Ewa.js 但它被最小化了。

如果您查看源代码,您会看到有一个名为“InsertDeleteCells”的调用。如果您在此处设置断点,然后尝试在编辑模式下从电子表格中删除一行,则会触发断点。

有人知道怎么打这个电话吗?我假设起点是 _Ewa 和 Ewa 全局对象,并且我必须传入可以从 Ewa.EwaControl 获得的会话 ID

或者,如果 Microsoft 的某个人愿意提供 Ewa.js 和 EwsMoss.js 的非最小化版本(可能称为 Ewa.debug.js 和 EwaMoss.debug.js),我可以完成剩下的工作.

【问题讨论】:

  • 让我看看能不能找到 Ewa.js 的非最小化版本...如果可以的话我会告诉你的。
  • 那太棒了。谢谢。

标签: ms-office sharepoint-2013 office-js


【解决方案1】:

我咨询了 Excel 团队。 Ewa.js 调用的 API 纯粹是内部的,因此它们可能(并且将会)随着时间而改变。这就是为什么它们没有被记录在案,以及为什么没有非缩小版本的原因。虽然您可能能够一起破解调用这些 API 的东西,但这样的解决方案将非常脆弱并且容易被破坏,所以我们不能真诚地推荐它。本质上,只有“Ewa”命名空间是公共的,而“_Ewa”下的任何东西都是故意私有的。

希望这会有所帮助,

~ Michael Zlatkovsky,Office 可扩展性团队的开发人员,MSFT

【讨论】:

  • 确实如此。不幸的是,这意味着我无法从表中删除一行。通过将数据添加到表正下方的行中,向表中插入一行。 Excel 将使该行成为表格的一部分。但是没有办法从表中删除一行。遗憾的是,EwaInternalWebService.json REST API 可用的全套命令尚未向 EWA 公开。我非常感谢你的帮助,迈克尔
  • 顺便说一下,新的 API 没有被添加到 Ewa。例如,ExcelServices 现在有 SaveWorkbook 等,在 Ewa 中不存在的 API,所以我不得不使用 Shahar Prish 非常古老的 ExcelServicesAjax.zip JavaScript 包装器。该代码仅适用于早期版本的 Internet Explorer。它甚至无法在 IE11 中运行,更不用说 Chrome 或 FireFox。我必须更新它,以便我可以从 JS 调用 ExcelServices。幸运的是,它和 Ewa Namespace 之间的 SessionID 是兼容的。我很想只使用 officejs
猜你喜欢
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多