C# Windows Form WPF

C# ile Excel Dosyası Açma & Okuma

C# ile excel dosya okuma

Bu yazıda var olan bir excel dosyasını nasıl açıp okuyacağımızı inceleyeceğiz.

 

Excel dosyasını okuma işleminden önce  Microsoft Excel 15.0 Object Kütüphanesini projeye bağlamalıyız. Bu işlem için daha önce yayımlanmış makaleden excel kütüphanesini nasıl bağlayacağınızı inceleyebilirsiniz.

resim1

resim2

 

Excel kütüphanemizi projeye dahil ettikten sonra wpf yada windows form ekranında  örnek bir buton controlünün  click olayına kodlarımızı ekliyoruz.

 

Excel uygulamasının bir örneğini oluşturuyoruz.

Excel.Application xlOrn = new Microsoft.Office.Interop.Excel.Application();

 

Bilgisayarımızda excel yüklü değilse  programın devam etmesini dururması için aşağıdaki kodları yazıyoruz.

if (xlOrn == null)
{
MessageBox.Show("Excel yüklü değil!!");
return;
}

 

Exceldeki kitap ve sayfaya bağlanmak için kitap ve sayfa değişkenlerini oluşturuyoruz.

 Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;

 

 

Aşağıdaki kodlar belirtilen adresteki excel belgesine bağlanıp A1 hücresindeki bilgileri okuyup ekrana yazdırmak işlemini gerçekleştirmektedir.

xlWorkBook = xlOrn.Workbooks.Open("d:\\yazilimbilisim.xls", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

MessageBox.Show(xlWorkSheet.get_Range("A1", "A1").Value2.ToString());

 

Excel belgesini kapatıp  excel bağlantısını boşaltıyoruz.

xlWorkBook.Close(true, misValue, misValue);
xlOrn .Quit();

MessageBox.Show(" d:\\yazilimbilisim.xls konumundaki A1 hücresi okundu");

 

Kodlarımızı toparlayacak olursak;

Excel.Application xlOrn = new Excel.Application();

if (xlOrn == null)
{
MessageBox.Show("Excel yüklü değil!!");
return;
}


Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;


xlWorkBook = xlOrn.Workbooks.Open("d:\\yazilimbilisim.xls", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

MessageBox.Show(xlWorkSheet.get_Range("A1", "A1").Value2.ToString());

xlWorkBook.Close(true, misValue, misValue);
xlOrn.Quit();

MessageBox.Show("Excel belgesini bağlandı ve okudu");

 

Not1: Referanslara using Excel = Microsoft.Office.Interop.Excel; bildirimini yapmayı unutmayın

Not2: d://yazılımbilisim.xls konumunda dosyanın var olduğundan emin olun. Yoksa kendi belirlediğiniz bir dosya ile ismi değiştirmelisiniz.

Örnek Uygulama

 

Uygulamanın sonuna COM bağlantısını ram üzerinden de kaldırması için gerekli kodu yazmakta fayda var. Bilgisayar raminde fazladan excel açıp boş yere ram tüketmemek gerek.

bellek bosaltma

try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlProje);
xlProje = null;
}
catch (Exception ex)
{
xlProje = null;
MessageBox.Show("Hata " + ex.ToString());
}
finally
{
GC.Collect();
}

 

 

Yorum

Yorum Yap