使用Excel从API中提取数据

时间:2014-12-09 07:06:28

标签: json excel rest asp.net-web-api

在编码时我是一个完整的新手,非常感谢你在项目中的帮助。

我想从网站提供的API中提取Excel中的数据(资源网址:http://api.opensignal.com/v2/networkrank.json)。

请问您应该如何解决这个问题。或者,您可以帮助您提供示例代码。

非常感谢

2 个答案:

答案 0 :(得分:3)

我用VBA-Web (Excel-REST)用Excel访问webservices和API。虽然我鼓励您查看有关如何使用Excel执行Web请求的教程(查找XMLHTTPRequest),但我发现开始时有点棘手,特别是如果您不熟悉编程,所以这里有一些示例代码基于OpenSignal's example

Sub GetNetworkRank(Latitude As Double, Longitude As Double)
    ' Create client for executing requests
    Dim Client As New WebClient
    Client.BaseUrl = "http://api.opensignal.com/v1/"

    ' Create specific request
    Dim Request As New WebRequest
    Request.Resource = "networkrank.json"
    ' Request.Method = WebMethod.HttpGet is default
    ' Request.Format = WebFormat.Json is default

    Request.AddQuerystringParam "lat", Latitude
    Request.AddQuerystringParam "lng", Longitude

    ' distance=20 -> 20 km around lat-lng -> 40km x 40km bounding box
    Request.AddQuerystringParam "distance", 20

    ' network_id=3 -> 3G networks
    Request.AddQuerystringParam "network_id", 3

    Request.AddQuerystringParam "apikey", "YOUR_API_KEY"

    ' Get response from request
    Set Response = Client.Execute(Request)
    ' -> GET http://api.opensignal.com/v1/networkrank.json?lat=...&lng=...&...

    If Response.StatusCode = 200 Then
        ' Get network rank
        ' (json response is automatically parsed)
        Response.Data("networkRank")("...")
    Else
        Debug.Print "Error: " & Response.StatusCode & " " & Response.Content
    End If
End Sub

答案 1 :(得分:0)

首先选择一个语言。如果您是编程新手,可以尝试Python。开始并不难。只需关注good Getting Started Guide

然后找到连接到系统所需的库。例如:

尝试基本的东西(API上的简单GET,Excel文档中的简单写入)。让它起作用。重复。