Excel, REST og XMLMAPS.Import vs WINHTTP

Indholdsfortegnelse

Af en eller anden grund krydsede ledningerne det aldrig ordentligt; fordi du kan importere XML til Excel direkte fra en URL, er det ikke nødvendigt at bruge WINHTTP til at lave simple REST -webserviceforespørgsler.

Jeg begyndte oprindeligt at bruge teknikken efter at have set Amazon Web Services -koden, der bruger WinHTTP, men det er ikke nødvendigt kun at anmode om XML fra en webtjeneste.

Proof of Concept: Her er et barebones -eksempel på at bruge Yahoo News Search API til at få de seneste Yahoo -nyheder om "Dan Rather" til Excel. Dette kræver en version af Excel, der understøtter XML:

1. Fremhæv derefter Kopier denne url:

http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10

2. I Excel skal du gå til Data-> XML-> Import

3. Brug feltet Indsæt genvej (CTRL-V) i feltet Filnavn til at indtaste den webadresse, du lige har kopieret, og tryk på enter.

4. Excel beder dig om, at cellen viser Yahoo News -resultaterne

Så det lykkedes os lige at bruge Yahoo Rest Webservice til at få data ind i Excel uden WINHTTP. Husk, at det er et bare -bone -eksempel. For at forklare det skal du tilføje et kort til projektmappen og bruge XMLMaps.import i stedet af de WINHTTP -eksempler, jeg har brugt.

Hvornår ville jeg i øjeblikket bruge WINHTTP med REST -webservices? Mit bedste gæt indtil nu:

1. Når login er påkrævet for tjenesten. I så fald skal jeg bruge SetCredentials

2. Når jeg ikke vil importere XML -dataene til et XML -kort, vil jeg hellere bare have rådata. For eksempel vil jeg manipulere dataene, før jeg skriver dem til et regneark eller eventuelt navigere i XML'en og vælge og vælge, hvilke data der skal vises baseret på brugerdefinerede kriterier.

Endelig fungerer XMLMAPS.Import og WINHTTP begge til forbrug af REST -webtjenester, men sidstnævnte kræver et par flere kodelinjer. Jeg vil blive ved med at snuble rundt med webtjenesterne, indtil jeg lærer det (og selvfølgelig: få det rigtigt). Jeg spekulerer på, om nogen andre har nogle REST -eksempler ved hjælp af Excel?

wave wave wave wave wave