首页 > 解决方案 > 如何使用 WEBSERVICE libreoffice calc 功能?

问题描述

这曾经在 libreoffice calc 中工作,但不能再让它工作。

我在一个单元格中输入:(我的个人密钥已更改)

=WEBSERVICE("http://api.currencylayer.com/historical? access_key=123456&date=2021-03-08")

我应该取回一个 JSON(在浏览器中工作),但在 Calc 中我得到一个#VALUE!错误。

我保存文档并重新加载它,然后显示一个横幅,上面写着“外部链接的自动更新已被禁用”。我点击“允许更新”,单元格变为“Err:540”,代表“外部内容被禁用”。

我尝试在以下位置更改安全设置Tool > Options > LibreOffice > Security > Macro Security > changed from "High" (the default) to "Medium" (confirmation required before executing macros from untrusted sources"

..但没有成功。

我在 ArchLinux 上,我尝试使用 libreoffice-still (7.0.4-2)、libreoffice-still (7.0.5-2) 和 libreoffice-fresh (7.1.2-2)。

我发现的一种解决方法是安装一个提供 GET 功能的插件,如此所述,但我更喜欢内置方法。这是一个错误吗?

标签: web-servicesgetlibreoffice-calc

解决方案


似乎 libreoffice 不喜欢结果是 JSON 的事实。根据问题中的工作流程,其他返回 XML 的 Web 服务可以正常工作。

这对 libreoffice 来说是一种误导,因为报告的错误是 540,这意味着外部内容已禁用(您也可以在状态栏中注意到“外部内容已禁用”)。很确定这是一个错误,JSON 不工作也是一个错误,因为 libreoffice 不应该关心返回的格式 - 它不被要求解析它。

解决方法是使用此插件公开的 GET 函数: https ://www.reddit.com/r/libreoffice/comments/ajqswc/reading_data_into_calc_from_a_web_based_source/ef0o7sw?utm_source=share&utm_medium=web2x&context=3


推荐阅读