问题标签 [custom-functions-excel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
76 浏览

javascript - 自定义函数中的 asp.net API cookie 身份验证

如何从使用自定义函数内部的 cookie 身份验证的 asp.net API 获取数据。

我遵循了https://docs.microsoft.com/en-us/office/dev/add-ins/excel/custom-functions-web-reqs中的示例。我可以发出请求,但 fetch 似乎没有在后续请求中包含 cookie。似乎 fetch 在自定义函数中被削弱了。

7/25/2019 17:49:54 详细运行时 [Console] [Log] Unexpected CustomFunctions [Execution] [End] [Failure] [RejectedPromise] Function=CALCBENCHDATA TypeError: Network request failed {}

0 投票
1 回答
478 浏览

axios - Office JS“网络错误”在桌面上的自定义函数运行时发送带有发布请求的数据(Edge 18)

我正在实现通过 POST 向外部 API 发出请求的 Office JS 自定义函数。目前,我在桌面上使用自定义函数运行时收到错误“网络错误”。

此错误仅在发送数据时发生(带有 axios 的数据配置选项)。发送时,data: undefined我收到一个成功的发布请求。Fetch/XMLHttp 给出同样的错误。这些发布请求在 excel Web 客户端上运行良好。

有问题的代码很简单:

函数.html

错误:

0 投票
1 回答
329 浏览

office365 - 如何通过脚本实验室而不是控制台日志查看excel API结果,excel表(单元格)中的自定义函数?

我在 Office 365 中使用脚本实验室,并且在编写从 API(url)获取数据的函数时遇到困难。我需要帮助将以下代码与 Java Script 中的自定义函数合并。

从下面的代码中,我可以在脚本实验室控制台中获得 API 结果,但我希望在 excel 屏幕(单元格)中获得最终结果。目前我可以看到所有的ticker.name 而不是具体的。

对于最终结果,我应该在 excel 单元格中输入 =coinmarket.rank(bitcoin),结果应该显示比特币在其他加密货币列表中的排名

0 投票
1 回答
124 浏览

office-js - excel自定义函数的性能-在线禁用Excel中的自动安全?

在为 Office JS 插件创建和测试自定义函数时,我测量了不同平台的性能并得到了完全不同的结果。我正在寻找改进的机会,特别是我想知道是否或如何禁用 Office 在线中的自动保存,因为这似乎是我的至少一个问题的原因。

两个主要问题是:

  • Windows版的Excel桌面很慢
  • Excel Online 不支持大量函数

因此,如果功能太多,Excel Online 甚至会崩溃。它将尝试安全并且与服务器的通信中断,显示有关无法连接到服务器的消息。

我们使用以下方法测试了 Excel 的行为

  • 一个非常简单的函数,只返回当前日期时间值
  • 一个更复杂的函数,它获取在 Web 服务器上计算的信息

所以根据我们测试的场景,结果是一样的。在更复杂的在线 Excel 中退出大约 50,000 个公式,而在简单的情况下,它退出在 50,000-100,000 个公式之间。

就性能而言,只要 Excel 在线运行,它的速度就与 MAC 上的 Excel 一样快,并且两者的速度都是 Windows 中的 Excel Desktop 的两倍。更不用说 COM 甚至 VBA 比运行时添加的任何 Javascript 都快得多。

那么有没有办法禁用自动安全,或者我只是被误导了,甚至尝试使用 Excel 在线和 Office JS 技术运行如此大的工作表?这样的事情还应该用COM技术来做吗?我真的很喜欢JS插件的兼容性...

0 投票
1 回答
97 浏览

excel - 从参数示例javascript api获取excel范围

我正在尝试在 scriptlab 中编写一个自定义函数来检查一个值是否在选定的范围内,但是我似乎无法弄清楚如何实际接受该范围作为函数参数。我创建的示例函数如下(我认为范围等于“A1:D1”):

然而,这会导致$CALC!错误。任何提示或想法?

0 投票
1 回答
241 浏览

javascript - 如何将excel单个单元格中的数据格式化为正确的列和行?

我正在使用 API 通过在 Javascript 中创建函数来获取 office.js 中的 excel 数据。我能够看到 API 的所有数据,但我希望它具有正确的行和列格式,例如:ID、名称、符号等。 现在看到的结果截图

0 投票
1 回答
1315 浏览

excel - Excel 无法加载基本的自定义函数加载项

一、环境:

Excel 版本 1905(内部版本 11629.20246 即点即用)连接到 Office 365 专业增强版

Windows 10 企业版 10.0.16299 内部版本 16299

我一直在尝试使用 Excel 中的自定义函数 API,但它始终无法加载我的清单。我正在使用 Visual Studio 进行开发,并使用它来处理侧加载。

加载项似乎部分加载,因为任务窗格确实打开并加载,但我的自定义函数都没有注册。

我还从https://github.com/OfficeDev/Excel-Custom-Functions-JS运行了示例项目,但加载失败并出现类似错误。

我的管理员已授予我访问加载项商店的权限,认为这可能是问题的一部分,但没有帮助。

我相信有一些 GPO 或设置禁用了自定义函数 API,但我不打算找到有关此类设置的任何文档。我已尽我所能确认我提供的清单有效,但 Excel 仍然声称它无效。

Web项目的基本结构如下:

我已确认 Web 服务器正在预期位置提供页面。

这是我要加载的清单。Visual Studio 不会抱怨它无效,它正在检查架构。如果我做出任何无效的更改,它确实会抱怨。

请注意,~remoteAppUrl在构建时正在正确转换

查看我的 WEF 日志:

我认为我的问题是在加载实际脚本之前发生的,但为了完整起见,这里是文件的内容/dist/

函数.html

函数.js

函数.json

运行https://github.com/OfficeDev/Excel-Custom-Functions中的 Excel 自定义函数示例项目时更新日志

0 投票
1 回答
97 浏览

office-js - Excel 自定义函数在 Excel Desktop 2016 中工作,但在 Excel Online 中失败

我们无休止地尝试让自定义函数在 Excel Online 中工作(通过多个浏览器)并且完全被难住了。

什么在起作用

  1. 所有环境(本地、开发、生产)在 Excel Desktop 2016 中都能完美运行
  2. 所有 Web 环境均失败并显示消息“在此加载项中安装自定义函数时出现问题。请尝试再次安装此加载项。

到目前为止,我们已经尝试过:

  1. 尝试从服务器加载文件,仍然有同样的问题
  2. 将所有更改恢复到自定义功能运行良好时。在本地和开发人员上验证
  3. 在 Chrome 中禁用网络安全。CORS 问题消失了,但仍然收到“加载自定义函数时出错”消息。让我觉得它比 CORS 更深。
  4. 我能够从 Starcount 教程成功加载自定义函数。我对自定义函数文件使用完全相同的 webpack 配置

接受有关如何纠正此问题的建议,因为它阻止我们重新提交。

0 投票
2 回答
227 浏览

office-js - 无法在 Excel 自定义函数中获取 POST 请求

我们目前正在我们的应用程序中实现自定义功能,并且无法让 POST 请求正常工作。

我们尝试过的

  • POST 使用 fetch (确切的功能适用于最新的 Chrome)
  • 使用 axios 发布,并向下编译(确切的功能在最新的 Chrome 中有效)
  • 在我们的后端 expressjs 服务器上添加和删除 cors() 中间件

我们是否缺少实现细节?我读了一些关于简单 CORS 的简短内容,但想联系一下,看看是否有一部分我们忘记了。

0 投票
1 回答
357 浏览

excel - Excel VBA自定义函数重新计算不起作用

我在 VBA 中有一些自定义函数,我想用标准的 excel 按钮"Calculate Now""Calculate sheet"重新计算。整个工作簿已将“计算选项”设置为“手动”

当我按下“计算表”按钮时,一切正常。我可以根据需要多次重新计算工作表。

如果我按下“立即计算”按钮,就会出现问题。重新计算整个工作簿,但不再可能进行进一步的重新计算。既不是“立即计算”按钮,也不是“计算表”。

我希望有可能捕获“立即计算”事件,捕获它并将其调用到各个工作表的“计算表”事件。或者在函数之后Worksheet_Calculate()为单元格设置一些标志以将它们注册到下一次重新计算。

有可能摆脱这个问题吗?我想使用标准的 excel 按钮进行重新计算。但我每次按下它们时都需要它们工作。