C# excel içe aktarma örnek

C# Form ile Excel’i DataGridView’e Aktarma

Merhaba arkadaşlar, bu yazımda C# form’da bir buton olacak ve bu butona basarak C# Excel Okuma işlemi ile bir DataGridView’e aktaracağız.

Öncelikle bu yazımda amaç sadece Excel’i datagridView’e aktarmak olduğundan tasarım üzerine yoğunlaşmayacağım. Direkt olarak Buton ve DataGridView kullanacağız.

Örnek tasarım aşağıda yer almaktadır.

Excel Okuma Programı Ekran Tasarımı

Butonumuza mantıklı bir isim veriyorum.

C# Excel okuma programı

DatagridView ve butonumuzu ekleyip isim verdikten sonra butona çift tıklayıp kod tarafımıza geçiyoruz.

Kodlarımızda beklenmeyen bir hata olduğunda programımızın kapanmaması için Try Catch blokları arasına alıyorum.

1. Adım C# Excel Okuma

Butona tıklanıldığında bana Excel dosyalarını seçmemi sağlaması için OpenFileDialog sınıfından nesne türetiyorum. Bu nesnemizin Filter özelliğine sadece Excel dosyalarını ekranımda göstermesi için gerekli bilgiyi ekliyorum. Son olarak bunu ekranda kullanıcının görebilmesini sağlıyorum.

Hocam anlattın da hani kodları derseniz buyurun kodlar:

// Dosya seçme penceresi açmak için
                OpenFileDialog file = new OpenFileDialog();
                file.Filter = "Excel Dosyası |*.xlsx";
                file.ShowDialog();
Burada seçilen dosyanın tam yolunu almak için ise aşağıdaki kodu kullanıyoruz.
// seçtiğimiz excel'in tam yolu
                string tamYol = file.FileName;

2. Adım

Yolunu aldığımız excel’in içeriğindeki bilgileri okumak için aşağıdaki kodları kullanıyoruz. Buradaki komut kısmında önemli olan Excel içerisindeki sayfa adını Sayfa1 olan kısım ile değiştirmenizdir. Genelde ilk açılan Excel’de Sayfa1 olarak gelmektedir. İlk gelen sayfayı almanın kodlarını da ilerleyen yazılarımda ekleyebilirim.

//Excel bağlantı adresi
                string baglantiAdresi = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + tamYol + ";Extended Properties='Excel 12.0;IMEX=1;'";

                //bağlantı 
                OleDbConnection baglanti = new OleDbConnection(baglantiAdresi);

                //tüm verileri seçmek için select sorgumuz. Sayfa1 olan kısmı Excel'de hangi sayfayı açmak istiyosanız orayı yazabilirsiniz.
                OleDbCommand komut = new OleDbCommand("Select * From [" + "Sayfa1" + "$]", baglanti);
                
                //bağlantıyı açıyoruz.
                baglanti.Open(); 
//Gelen verileri DataAdapter'e atıyoruz.
                OleDbDataAdapter da = new OleDbDataAdapter(komut);

3. Adım

Artık verilerimizi de aldık. DataGridView’e bu verileri eklemek için öncelikle DataTable sınıfımızdan nesne türetip bunu da Excel’den almış olduğumuz veriler ile doldurmamız gerekiyor. Bunun kodları da aşağıdaki gibi olacaktır.

//Grid'imiz için bir DataTable oluşturuyoruz.
                DataTable data = new DataTable();

                //DataAdapter'da ki verileri data adındaki DataTable'a dolduruyoruz.
                da.Fill(data);

                //DataGrid'imizin kaynağını oluşturduğumuz DataTable ile dolduruyoruz.
                dataGridView1.DataSource = data;

C# Excel aktarma örnek uygulama

Tüm proje için tıklayınız.

Eğer bir hata alıyorsanız buradaki çözümü deneyebilirsiniz.

Bunlara Göz Atmak İsteyebilirsiniz

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.