Intelligente stad, staat en postcode in Excel

Inhoudsopgave

Dus je bouwt een spreadsheet waarbij de gebruiker een postcode, stad en staat moet invoeren … Hoe bouw je een slimmere spreadsheet die automatisch de stad en staat invult nadat de gebruiker alleen de postcode heeft ingevoerd?

Ik heb gekeken naar enkele basishandleidingen die webontwikkelaars gebruiken met XMLHttpRequest, zoals deze, en werd geïnspireerd om dezelfde functionaliteit van deze uitstekende XMLHttpRequest-zelfstudie in Excel opnieuw te creëren (scroll naar beneden op de link voor een demo).

Succes! Ik heb een snelle flash-film gemaakt om te demonstreren dat je een zip intoetst en automatisch de stad en staat in Excel teruggeeft.

En hier is de spreadsheet-download om rond te schoppen (er is niet zoveel code).

Hoe het werkt

1. Je hebt een database nodig met daarin de postcode/staat/stadsgegevens. Haal dat hier (ik ging met MYSQL zoals aangetoond).

2. Retourneer de stad en staat op basis van een postcodequery uit de database, ik heb PHP gebruikt om tekst te retourneren.

3. Terug in Excel: wanneer het postcodeveld verandert, wordt de gebeurtenis Worksheet_Change geactiveerd en wordt het verzoek via WinHTTP naar de PHP-pagina gestuurd, die de stad en staat voor het verzoek terugstuurt naar Excel.

4. Ik gebruik de functie Split() om de string te ontleden en de resultaten naar de spreadsheet te schrijven.

Opmerkingen:

Waarom geen XML retourneren?

Het is slechts een reeks van twee woorden en tekst is gemakkelijk te verwerken als er maar twee woorden zijn. XML was misschien echter geraffineerder omdat ik de twee resultaatvelden gewoon aan cellen had kunnen toewijzen en een aangepaste had kunnen noemen Import-URL: elke keer.

Waarom niet gewoon rechtstreeks verbinding maken met de DB?

Ja, dat is mogelijk, maar ik zou liever een "service" maken, op deze manier kan elke app die ik maak, op elk platform, het gebruiken.

Waarom importeert u de Zips niet gewoon naar Excel en doet u een zoekopdracht?

Mogelijk, maar als meerdere werkmappen de tabel gebruiken, moet er een wijziging in alle werkmappen worden aangebracht.

De Zips in het voorbeeld kunnen verouderd zijn.

Alleen getest in XL2003.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave