问题描述
我正在尝试从 CouchDB 数据库中检索一些数据并将它们显示在 Excel 工作表中。
我发现了一个很老的话题 here,PowerQuery 仍然是最好的选择吗?
解决方法
您可以使用 VBA 和基本身份验证。
示例:
Public Sub getDataFromCouchdb()
Dim objHTTP As Object,JSON As Object
Set objHTTP = CreateObject("Microsoft.XmlHttp")
user = "username"
pass = "password"
URL = "https://examples.com:5984/dbname/doc_id"
objHTTP.Open "GET",URL,False
objHTTP.setRequestHeader "User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.setRequestHeader "Content-Type","application/json; charset=utf-8"
objHTTP.setRequestHeader "Authorization","Basic " + Base64Encode(user + ":" + pass)
objHTTP.send ("")
Debug.Print objHTTP.responseText
Sheets("Plan1").Cells(10,10).Value = objHTTP.responseText
Set JSON = JsonConverter.ParseJson(objHTTP.responseText)
Debug.Print JSON("_id")
Sheets("Plan1").Cells(10,11).Value = JSON("_id")
End Sub
要解析 JSON,您可以使用此库:
https://github.com/VBA-tools/VBA-JSON
需要这个其他库: