Flutter, Google E-Tablo Csv İşlemleri

Merhaba Arkadaşlar. Bugün sizlere Google E-Tablodan verileri çekip Flutter’da kullanmayı göstereceğim.
Örnek Video:
İlk önce Google E-Tabloların verilerini almamız için;
Tablo oluşturuyoruz.
Tabloya verilerimizi giriyoruz.
Dosya => Web’de Yayınla => Yayınla
’yı seçtikten sonra bağlantı kısmını Virgülle Ayrılmış Değerler (.csv) yi seçiyoruz.
Ve http işlemleri yapacağımız linki oluşturmuş oluyoruz. Şimdi proje kısmına geçebiliriz.
Csv ve Http paketini projemize ekleyip pub get yapıyoruz.
Csv Paketi
Http Paketi
Verilerimizi tutacağımız iki boyutlu bir liste tanımlıyoruz. İki boyutlu olmasının nedeni ilk değerimiz satır sayısını belirleyecek ikinci indeksimiz ise sütunu tutmamızı sağlayacak.
List<List> _veriler = [];
Bir fonksiyon oluşturup veri çekme işlemlerimizi yapıyoruz.
void csv_islemleri() async {
var result = await http.get(Uri.parse(_ur1));
var myCsv = result.body;
List<List> _gecici = CsvToListConverter().convert(myCsv);
setState(() {
_veriler = _gecici;
});
}
http.get ile Websitesine istek atıyoruz ve geri dönen değeri result’a atıyoruz.
Verilerimiz body kısmında olduğu için result.body ile verilerimizi myCsv değişkenimize atıyoruz.
Csv paketi yardımıyla myCsv değişkenimizi _gecici isminde bir değişkene atıyoruz.
Setstate yardımıyla verilerin arayüzdede güncellenmesini sağlayarak gecici değişkenimizi, _veriler değişkenimize atıyoruz.
Verileri başarıyla aldık. Şimdi arayüzde nasıl kullanacağımıza geçelim.
Butona basıldığında verilerin gelmesini sağlamak için Scaffold’un floatingActionButton parametresine Buton vererek tıklanma fonksiyonuna csv_islemleri() isimli fonksiyonumuzu veriyoruz.
FloatingActionButton(
child: Icon(Icons.add), onPressed: csv_islemleri,
),
Verileri göstermek için body kısmına ListView.builder verip builder’ına Card Widgetı ile sarmaladığımız ListTile Widget’ını yerleştiriyoruz.
Verileri kullanmak için:
veriler[satir_sayisi][sutun_sayisi]
şeklinde kullanıyoruz.
Okuduğunuz için Teşekkür Ederim.
Konuyla ilgili sorularınızı yorumlara yazmayı unutmayınız !