Önceki yazılarımda Microsoft Excel 12.0 Object Kütüphanesi ekleme, silme işlemlerini yapmıştıştık. Excel Object kullanmadan OLEDB ile kayıt ekleme, silme ,güncelleme ve sorgulama işlemlerini SQL yöntemleri ile yapmak mümkün. Bu yazımızda C# ile Excelde Kayıt Listeleme işlemi OLEDB kullanarak nasıl gerçekleştireceğimizi inceleyeceğiz.
Kodlarımızı yazmadan önce Yukarıdakine benzer bir excel kitabı hazırlamış olmanız gerekmektedir. Excel kitabının hazırladıktan sonra SQLdeki kayıt listeleme sorgusunun nasıl olduğunu bir inceleyelim.
Select sorgusu yapımız aşağıdaki şekilde olacak ve Sayfa1 içindeki durumu kaldı olan satırların tümün okuyacaktır.
1 2 3 |
sql = "Select * from [Sayfa1$] Where durum='KALDI'"; |
OLEDB ile Excelde Sorulama yapmak için en basit şekilde yazmamız gereken kodlar aşağıdaki şekilde oluşacaktır.
OLEDB bağlantısını açtık.
Sorgu cümlemizi yazıp OLEDB Command’ a gönderdik.
ExceuteReader ile dönen değeri bir datareader nesnsine alıp while döngüsü ile dr nesnesindeki kayıtları okuduk.
Son olarakta OLEDB bağlantısını kapattık.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
try { System.Data.OleDb.OleDbConnection Baglanti; System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(); string sql = null; Baglanti = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\\bel3.xls';Extended Properties=Excel 8.0;"); Baglanti.Open(); myCommand.Connection = Baglanti; sql = "Select * from [Sayfa1$] Where durum='KALDI'"; myCommand.CommandText = sql; System.Data.OleDb.OleDbDataReader dr = myCommand.ExecuteReader(); /*datareader içindeki verileri okuma*/ while(dr.Read()) { MessageBox.Show(String.Format("İsim:{0} ,Soyisim:{1} ve Notu:{2}",dr[0],dr[1],dr[2].ToString())); } Baglanti.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } |
Yukarıdaki kodları WPF yada Windows Form üzerinde bir butona bağlayıp çalıştırdığımızda aşağıdaki çalışacaktır.