C# ile Excel Veri Okuma

Excel Nedir?
Excel, Microsoft Windows ile Apple Macintosh işletim sistemli bilgisayarlarda çalışabilen, elektronik tablolama programıdır. Microsoft Excel içinde birçok formül, meta, işaret sayı, rakam gibi unsurlar bulunur. Bu unsurlar ile birçok işlemi gerçekleştirebilirsiniz.

C# ile bir çok işlem yapmamız mümkün.Bunlardan en çok kullanılacak olanlardan birtaneside excel üzerinden veri çekme veri yazma güncelleme gibi işlemler.Excel işlemleri iş hayatınızda çokça karşınıza çıkacaktır bu makalemizde C# ile excel verisi nasıl okunur onu anlatıyor olacağız.

Bu makale için Visual Studio 2015 Professionel ile Windows Console projesi kullanacağım.

İlk olarak yeni bir Windows Console projesi oluşturuyoruz. File > New Project > Console Application proje ismini belirledikten sonra 'Ok' tuşuna basarak projeyi oluşturmuş oluyoruz.Şimdi adım adım anlatmaya başlayalım.

Öncelikle proje içerisine referans eklememiz gerekiyor.System.Data.OleDb referansını projemize ekliyoruz.Daha sonra Excel bağlantı kodlarını ekliyoruz.OleDb üzerinden ConnectionString ayarlamalarını,hangi Excel dosyası üzerinden işlemleri yapıcağımızı belirtiyoruz.

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database\emre-sahin.xls;" + @"Extended Properties='Excel 8.0;HDR=Yes;'";

ConnectionString'imizi bu şekilde oluşturuyoruz.Ben işlemimi C:\ içerisinde bulunan Database klasöründeki emre-sahin.xls isimli excel üzerinden gerçekleştireceğim.

using (OleDbConnection connection = new OleDbConnection(con))
{
  connection.Open();
  OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection);
  using (OleDbDataReader dr = command.ExecuteReader())
         {
             while (dr.Read())
             {
               Console.WriteLine(dr[0]);
               Console.WriteLine(dr[1]);
               Console.WriteLine(dr[2]);
             }
         }
}
Console.ReadLine();

Yukarıda bulunan kodları açıklamak gerekirse.İlk olarak OleDb Command ile Excel üzerinden çekmek istediğimiz dataları Query ile beliritiyoruz.Biz burada sadece 'Sheet1' üzerindeki dataları okuyacağız.Oluşturduğumuz command'ı execute ederek OleDbDataReader içerisine çekmek istediğimiz dataları alıyoruz.While ile datalar içerisinde dönerek tüm kayıtları alıyoruz.
 

Benim Excel içeriği aşağıdaki şekildedir.

Projemizi derleyip çalıştırdığımızda Console üzerinden aşağıda bulunan görseldeki gibi bir sonuç elde etmiş oluyoruz.

Gördüğünüz gibi Excel üzerinde bulunan tüm kayıtları okumuş olduk.Bu doğrultuda elde ettiğimiz tüm kayıtlar ile ilgili yapmak istediğimiz her işlemi gerçekleştirebiliriz.

Bir sonraki makalede görüşmek üzere...

İlginizi Çekebilir

Yorum Yap