C# Windows Form WPF

C# ile Excele Yeni Sayfası Ekleme

Bu yazıda C# ile mevcut bir excel kitabına yeni bir sayfa ekleme nasıl yapılacağını inceleyeceğiz.

 

C# ile exceli kullanabilmek için referanslara excelin kütüphanesini eklemeliyiz. Önceli excel yazılarından bu işlemin nasıl yapıldığını inceleyebilirsiniz.

Excel kütüphanemizi Projeye yükledik. Sıra geldi yazdığımız kodları açıklamaya;

D sürücüsündeki bel2.xls dosyasını çalışmak için seçtik.

string filePath = @"d:\bel2.xls";
Excel.Workbook xlKitap = xlProje.Workbooks.Open(filePath, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets xlSayfa = xlKitap.Worksheets;

 

Çalışmak için açtığımız excel kitabına yeni bir sayfa eklendi. Name özelliği ile sayfa ismi belirttik. Oluşturulan excel sayfasını ilk hücresine örnek bir yazı yazdırdık.

var xlYeniSayfa = (Excel.Worksheet)xlSayfa.Add(xlSayfa[1], Type.Missing, Type.Missing, Type.Missing);
xlYeniSayfa.Name = "yeniSayfa3";
xlYeniSayfa.Cells[1, 1] = "Yeni Sayfanın İlkaaa Hücresi";

 

Seçili(dosyayı tekrar açtığımızda aktif sayfa) olması için ilk sayfayı seçildi.

xlYeniSayfa = (Excel.Worksheet)xlKitap.Worksheets.get_Item(1);
xlYeniSayfa.Select();

Üzerinde çalıştığımız excel kitabını kaydedip kapatıldı. Tabi son işlem olarak da işlem bittiği konusunda uyarı yazdırıldı.

xlKitap.Save();
xlKitap.Close();

MessageBox.Show("Yeni Sayfa Oluşturuldu ve Kayıt Eklendi");

 

Anlattığımız kodları toplarlayacak olursak. Kodlarımız aşağıdaki şekilde oluşacaktır.

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

if (xlProje == null)
{
MessageBox.Show("Excel Bilgisayarınızda Yüklü Değil!!");
return;
}

//xlProje.DisplayAlerts = false;
string filePath = @"d:\bel2.xls";
Excel.Workbook xlKitap = xlProje.Workbooks.Open(filePath, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets xlSayfa = xlKitap.Worksheets;

var xlYeniSayfa = (Excel.Worksheet)xlSayfa.Add(xlSayfa[1], Type.Missing, Type.Missing, Type.Missing);
xlYeniSayfa.Name = "yeniSayfa3";
xlYeniSayfa.Cells[1, 1] = "Yeni Sayfanın İlkaaa Hücresi";

xlYeniSayfa = (Excel.Worksheet)xlKitap.Worksheets.get_Item(1);
xlYeniSayfa.Select();

xlKitap.Save();
xlKitap.Close();

MessageBox.Show("Yeni Sayfa Oluşturuldu ve Kayıt Eklendi");

/*ram üzerinden de boşlatıyoruz.*/
 try
 {
 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlProje);
 xlProje = null;
 }
 catch (Exception ex)
 {
 xlProje = null;
 MessageBox.Show("Hata" + ex.ToString());
 }
 finally
 {
 GC.Collect();
 }

Ram üzerinden boşlatma işlemi yapmazsak oluşacak sorun aşağıdaki gibi olacaktır.

bellek bosaltma

 

1 Yorum

Yorum Yap