是否有插件或库可用于通过Excel(可能使用宏)访问RESTful API,然后将响应存储在某个地方(可能是工作表中)。
抱歉没有示例代码。我不是VBA程序员。
您可以在VBA中使用MSXML 库。然后您可以创建一个XMlHTTP请求并执行GET或POST等操作。以下是一个代码示例。它使用晚期绑定,即无需首先引用库:
Option Explicit
Sub Test_LateBinding()
Dim objRequest As Object
Dim strUrl As String
Dim blnAsync As Boolean
Dim strResponse As String
Set objRequest = CreateObject("MSXML2.XMLHTTP")
strUrl = "https://jsonplaceholder.typicode.com/posts/1"
blnAsync = True
With objRequest
.Open "GET", strUrl, blnAsync
.SetRequestHeader "Content-Type", "application/json"
.Send
'spin wheels whilst waiting for response
While objRequest.readyState <> 4
DoEvents
Wend
strResponse = .ResponseText
End With
Debug.Print strResponse
End Sub
我正在使用这个测试网站 - JSONPlaceholder - 来调用RESTful API。以下是响应结果:
请注意,我发现如果你a)进行同步请求,或者b)使用http
而不是https
,则使用此方法调用该网站会失败。
这里有一个使用REST API从JIRA获取信息并加载到Excel工作表中的详细示例。该帖子中可以下载具有宏的Excel文件。无论如何,它都包括每个步骤的详细说明,以防您想为特定目的自己完成此操作。在此不再赘述。我一直在寻找类似的解决方案,到目前为止,这是唯一一篇描述了从头到尾解决这个问题的文章。
如果你正在寻找一个即插即用的Excel插件(无需编写VBA),那么xlbroadcaster.io可以满足你的需求。它还可以将JSON响应格式化到Excel单元格中。
我开始使用它来调用私有API,但它也适用于公共API。
非商业用途免费。