Така че изграждате електронна таблица, която изисква от потребителя да въведе ZipCode, град и държава … Как да изградите по -интелигентна електронна таблица, която автоматично попълва града и щата, след като потребителят въведе само ZipCode?
Разглеждах някои основни уроци, които уеб любителите използват с XMLHttpRequest, като този, и бях вдъхновен да пресъздам същата функционалност на този отличен урок XMLHttpRequest в Excel (превъртете надолу връзката за демонстрация).
Успех! Събрах бърз флаш филм, за да демонстрирам въвеждане на цип и автоматично връщане на града и щата в Excel.
И ето изтеглянето на електронната таблица, за да се разхождате (няма толкова много код).
Как работи
1. Нуждаете се от база данни, в която има пощенски код/държава/град. Вземете това тук (отидох с MYSQL, както е показано).
2. Върнете града и щата въз основа на заявка за пощенски код от базата данни, използвах PHP за връщане на текст.
3. Обратно в Excel: Когато полето ZipCode се промени, събитието Worksheet_Change се задейства, изпращайки заявката чрез WinHTTP на страницата PHP, която връща града и държавата за заявката обратно в Excel.
4. Използвам функцията Split (), за да анализирам низа и да запиша резултатите в електронната таблица.
Бележки
Защо не върнете XML?
Това е само низ от две думи и текстът е лесен за работа, когато има само две думи. XML може би е бил по -зле, защото можех просто да картографирам двете полета с резултати в клетки и да извикам персонализиран URL адрес за импортиране: всеки път.
Защо просто не се свържете директно към БД?
Да, това е възможно, но предпочитам да създам „услуга“, по този начин всяко приложение, което направя, на всяка платформа, може да го използва.
Защо просто не импортирате Zips в Excel и не потърсите?
Възможно е обаче, ако няколко работни книги използват таблицата, трябва да се направи промяна във всички тях.
Циповете в примера може да са остарели.
Тествано само в XL2003.