S

Google Visualization API Query ile Spreadsheet den Excel e veri aktarma

indirmek için izniniz yok
g0.PNG


Bu dosyamızda Google Drive üzerinde bulunan bir Spreadsheet içinden VBA ve Google Visualization (GVIZ) API Query ile veri almaya çalıştık.

* GVIZ Query, SQL' e çok benzer ve VBA yardımıyla Spreadsheet ten Excel e veri aktarmak çok kolaydır.

* SQL bilginiz varsa GVIZ queryde hiç zorluk çekmeyeceksiniz, SQL bilmiyorsanız neler yapılabileceği ile ilgili fikir vermesi açısından hazır query örnekleri dosyada mevcut.

* CSV veya JSON formatında (excelde çok işinize yaramasada) aktarım mümkün. Forumda soru geldiği için programa JSON seçeneği ekledim.

* Programın testi için kullanacağımız belge IBB tiyatrosunun 2018-2020 ait oyunlarına ait verileri içeriyor. Tablonun önizlemesi aşağıdadır. Sarı ile işaretli adres Google Spreadsheet in paylaşıma açık adresi. Bu adresi programımıza parametre olarak vereceğiz.

g1.PNG


* B2 hücresine google tablomuzun web adresini yazıyoruz , yukarıda sarı işaretli kısım. (adresin tamamı değil dikkat.) Siz kendi tablonuzun adresini yazarak kendi querylerinizi çalıştırabilirsiniz. Tablonuz paylaşıma açık olmalıdır.

g3.PNG


* Tüm tabloyu excele almak için en sağdaki "TABLOYU AKTAR" düğmesini kullanınız. Yazılan queryden bağımsız olarak tüm tabloyu getirecektir. (Yani "Select * " querysini çalıştıracaktır)

* CSV veya JSON formatlarından birini seçiyoruz. CSV kullanmanızı öneririm. JSON seçtiğinizde anlamsız, parse edilmemiş bir json metni gelecektir.

* Queryinizi yukardaki textbox içine yazıp "QUERY ÇALIŞTIR" düğmesine tıklıyorsunuz.

* GVIZ query yazarken alan isimleri yerine A,B,C,... Gibi kolon referanslarını kullanıyoruz. Tablodan KAYNAK, KATEGORI ve DOLULUK alanlarını seçmek için "Select A,B,F" query cümlesi çalıştırılmalıdır.

* Yazılan query cümlesi çalıştırılamıyorsa bir hata mesajı alırsınız. Query cümlesi kontrol edilmelidir. Referans için Query Language Reference (Version 0.7) | Charts | Google Developers
Bu örnekte "group by A" ifadesi eksik bırakıldığı için resimdeki gibi hata geldi.

g4.PNG



* SQL diline yabancıysanız fikir vermesi açısından bir kaç basit query cümleciği koydum. HAZIR QUERY ÖRNEKLERİ' nden bunlara ulaşabilirsiniz.

1634769243391.png
Yazar
Selman 
İndirilme
11
Görüntüleme
235
İlk Yayınlama
Son Güncelleme
Değerlendirme
5.00 Oylama 5 İnceleme

Selman Kullanıcısının Diğer Kaynakları;

Son incelemeler

Teşekkürler sanırım bu bizim konuya istinaden yazılan bir cevaptı.

Zaman ayırıp bir örnekle açıkladığınıziçin ayrıca teşekkürler.

Kodlama biliyorum ancak VBA da yeniyim.

Mantığını anlayıp kendi sistemime uyarlamak için kodlarınızı inceliyorum.

Bazı tereddüt ettiğim konuları buradan yazabilir miyim ya da forumdan mı başlık açmalıyım emin değilim çünkü buradan son yazdığım mesaj ile önceki yazdıklarım siliniyor gibi...

İlk baştan teyit ederek gitmek isterim.

Zamanınız müsait olduğunda cevaplayabilirseniz memnun olurum


For Each cn In ThisWorkbook.Connections
cn.Delete
Next

Kodlama biliyorum ama VBA da yeniyim.

Sanıyorum ki üstteki kodlarla önceden açık bir bağlantı nesnesi varsa onu kapatıyoruz.

doğru mu anlamışım?

Bunu yapmamızdaki amaç işlemimizin şişmeyip daha hızlı performanslı çalışması için mi?



s1.Range("5:" & s1.Rows.Count).Delete

Bu kod ile 5. satırdan sonraki önceden çekilmiş verileri temizliyoruz
Harika bir çalışma olmuş. Ellerinize ve emeğinize sağlık.
Oldukça faydalı bir örnek olduğunu düşünüyorum.
Elinize sağlık olsun.
Benim gibi HİÇ bilmeyenlerin bile rahatlıkla anlayabileceği, adımları takip edip sonuç alabileceği, sade ve net anlatım için çok teşekkürler...
S
Selman 
Kıymetli yorumunuz için teşekkür ederim. Bizde sizin grafik ve formül bilginize hayranız. Özellikle grafik konusunda eşsiz çalışmalarınız var. Bu arada sanırım siz indirdikten sonra bir güncelleme yaptım. Hazr query tarafında en alttaki query boştu, düzeltildi. Tekrar indirirseniz güncel olduğundan emin olursunuz.
Hocam elinize sağlık olsun.
Bence bu örnek Google E-Tabloları ile Excel arasındaki samimi bir ilişki kurulmasına :) yol gösterecek bir kaynaktır.
Üst Alt