Yani kullanıcının bir Posta Kodu, Şehir ve Eyalet girmesini gerektiren bir elektronik tablo oluşturuyorsunuz… Kullanıcı yalnızca Posta Kodu girdikten sonra Şehir ve Eyaleti otomatik olarak dolduran daha akıllı bir elektronik tabloyu nasıl oluşturursunuz?
Web geliştiricilerinin XMLHttpRequest ile kullandığı bunun gibi bazı temel öğreticilere bakıyordum ve bu mükemmel XMLHttpRequest öğreticisinin aynı işlevselliğini Excel'de yeniden oluşturmak için ilham aldım (demo için bağlantıyı aşağı kaydırın).
Başarı! Zip'i tuşlamayı ve şehri ve eyaleti Excel'de otomatik olarak döndürmeyi göstermek için hızlı bir flash film hazırladım.
Ve işte, tekmelemek için e-tablo indirmesi (o kadar fazla kod yok).
Nasıl çalışır
1. İçinde posta kodu/eyalet/şehir bilgilerinin bulunduğu bir veritabanına ihtiyacınız var. Bunu buradan alın (gösterildiği gibi MYSQL ile gittim).
2. Veritabanından bir posta kodu sorgusuna dayanarak şehri ve eyaleti döndürün, metin döndürmek için PHP kullandım.
3. Excel'e Geri Dönün: ZipCode alanı değiştiğinde, Worksheet_Change olayı tetiklenir ve isteği WinHTTP aracılığıyla PHP sayfasına gönderir, bu da İstek için Şehir ve Eyaleti Excel'e geri döndürür.
4. Dizeyi ayrıştırmak ve sonuçları elektronik tabloya yazmak için Split() işlevini kullanıyorum.
Notlar
Neden XML döndürülmüyor?
Bu yalnızca iki sözcükten oluşan bir dizedir ve yalnızca iki sözcük olduğunda metinle uğraşmak kolaydır. Ancak, iki sonuç alanını hücrelere eşleyebildiğim ve özel olarak adlandırabildiğim için XML daha şık olabilirdi. URL'yi içe aktar: her seferinde.
Neden doğrudan DB'ye bağlanmıyorsunuz?
Evet bu mümkün, ancak bir "hizmet" oluşturmayı tercih ederim, bu şekilde yaptığım herhangi bir uygulama, herhangi bir platformda kullanabilir.
Neden Zip'leri Excel'e aktarıp bir arama yapmıyorsunuz?
Mümkün, ancak tabloyu birden çok çalışma kitabı kullanıyorsa, hepsinde bir değişiklik yapılması gerekir.
Örnekteki Zip'ler eski olabilir.
Yalnızca XL2003'te test edilmiştir.