Ana içeriğe atla

Excel'den Veri Okuma

Programlamaya yeni başlayanların "ya bu veri tabanları tamam da excel ne ayak?" dedikleri çok olmuştur. Aslında hiç bir farkı yok :) biraz connectionString değişiyor biraz da sorgu cümlesi. Hatta sorgu cümlesinde neredeyse hiç fark yok :) Hadi gelin birlikte bakalım :

DataTable getirTumATSTablo()
{
string dosya_adres=@"C:\Deneme.xls";
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dosya_adres + ";Extended Properties=Excel 8.0");
baglanti.Open();

string query = "select * from [Tablo1$A2:F450] ";
OleDbDataAdapter oAdp = new OleDbDataAdapter(query, baglanti);
DataTable dt = new DataTable();
oAdp.Fill(dt);
return dt;

}

Şimdi bizim excel'imizin ilk sayfasının adı Tablo1 olsun ve bu sayfada A2 den F450'ye kadar verilerimizin olduğunu düşünelim. Yani ilk iki satır boş diyelim ki orada başlıklar var almaya gerek yok. Sorgu cümlesini inceleyecek olursak "from"dan sonra sayfamızın adı ve çekmek istediğimiz bölümü yazdığımızı göreceksiniz. Aslında bu da bu kadar kullanımı kolay bir örnek.
Hepinize iyi çalışmalar..

Yorumlar

Adsız dedi ki…
Peki bunu veritabanına nasıl kaydedeceğiz datatable'dan?
Volkan Albayrak dedi ki…
Veritabanına kaydetmenin birçok yolu var. Biraz daha detaylı bilgi verirsen nereye kaydedeceğinle ilgili daha çok yardımcı olabilirim.
Adsız dedi ki…
Aynen sizin kodları kullanıp Excel'den okuyup DataTable'a bilgileri doldurduk. DT içindeki bilgileri Access veritabanındaki bir tabloya nasıl kaydedebiliriz? Muhtemelen çok basit bir yolu vardır ancak daha acemi olduğumdan işin içinden çıkamadım.