Så du bygger et regneark som krever at brukeren angir en postnummer, by og stat … Hvordan bygger du et smartere regneark som automatisk fyller ut by og stat etter at brukeren bare har lagt inn postnummeret?
Jeg har sett på noen grunnleggende opplæringsprogrammer som web -devolopere bruker med XMLHttpRequest, som denne, og ble inspirert til å gjenskape den samme funksjonaliteten til denne utmerkede XMLHttpRequest -opplæringen i Excel (rull ned lenken for en demo).
Suksess! Jeg har satt sammen en rask flashfilm for å demonstrere at du legger inn en zip og automatisk returnerer byen og staten i Excel.
Og her er nedlastingen av regnearket for å sparke rundt (det er ikke så mye kode).
Hvordan det fungerer
1. Du trenger en database som inneholder postnummer/stat/byinformasjon. Få det her (jeg gikk med MYSQL som vist).
2. Returner byen og staten basert på et postnummer forespørsel fra databasen, jeg brukte PHP til å returnere tekst.
3. Tilbake i Excel: Når ZipCode -feltet endres, utløser Worksheet_Change -hendelsen og sender forespørselen via WinHTTP til PHP -siden, som returnerer byen og staten for forespørselen tilbake til Excel.
4. Jeg bruker funksjonen Split () til å analysere strengen og skrive resultatene til regnearket.
Merknader
Hvorfor ikke returnere XML?
Det er bare en toordstreng, og tekst er lett å håndtere når det bare er to ord. XML kan imidlertid ha vært snazzier fordi jeg nettopp kunne ha kartlagt de to resultatfeltene til celler, og kalt en tilpasset Import URL: hver gang.
Hvorfor ikke bare koble til DB direkte?
Jepp det er mulig, men jeg foretrekker å lage en "tjeneste", på denne måten kan enhver app jeg lager, på hvilken som helst plattform, bruke den.
Hvorfor ikke bare importere Zips til Excel og gjøre et oppslag?
Mulig, men hvis flere arbeidsbøker bruker tabellen, må det gjøres en endring i dem alle.
Glidelåsene i eksemplet kan være utdaterte.
Kun testet i XL2003.