C# İle Excel Dosyasını Kaydetme

Bir önceki yazımda C# ile Excel Dosyasının Nasıl Oluşturulduğunu anlatmıştım. Bu yazımda ise oluşturulan bu Excel Dosyasının Nasıl Kaydedildiğini anlatmaya çalışacağım.

Not: Örnek projeyi makalenin sonunda bulabilirsiniz.

Oluşturulan Excel dosyasını kaydederken Çalışma Kitabından faydalanırız. Çalışma Kitabı içinde ki Save ve SaveAs fonksiyonları ile kayıt yapabiliriz.

Save fonksiyonu, önceden kayıt edilmiş bir dosya üzerinde, değişiklikleri yaptığımızda uygularız.

SaveAs fonksiyonunda ise önceden kayıt edilmiş olsun veya olmasın, dosyayı herhangi bir dizine kaydedebiliriz. SaveAs fonksiyonunun 12 parametresi bulunmaktadır. Elbette bunların hepsini bilme ihtiyacımız yok. İhtiyacımız olan veya benim şu ana kadar en fazla kullandığım 5 -6 tane parametre bulunmaktadır.

Şimde SaveAs fonksiyonunun parametrelerini tanıyalım.

SaveAs fonksiyonunun parametreleri

  • FileName

Excel dosyasını kaydetmek için vereceğimiz dosya ismidir. Yani kayıt edilecek dizinin, dosya adıyla birlikte ki yoludur.

Örnek Kullanım : C:\Excel1.xlsx

  • FileFormat

Excel dosyasının formatını bu parametrede belirliyoruz.   Eğer normal excel dosyası oluşturacaksak, xlWorkbookDefault seçmeliyiz.

Örnek Kullanımı : Excel.XlFileFormat.xlWorkbookDefault

Ayrıca diğer formatlara göz atmak için  burada ki listeye bakabilirsiniz.

  • Password

Eğer Excel dosyasına şifre koymak istiyorsak, bu parametreyi kullanıyoruz. Eğer şifre koymak istemezsek Type.Missing veya boş bırakarak geçebiliriz. Zaten görüldüğü gibi varsayılan seçenek olarak Type.Missing verilmiştir.

Örnek Kullanım : 12345 gibi

  • WriteResPassword

Bu özellik dosyaya yazma izni verilmesi için gerekli şifrenin gönderildiği parametredir. Yani buraya verdiğiniz parametre ile dosyayı yazma iznine kapıyoruz. Eğer herhangi bir kişi bu şifreyi bilmezse dosya salt okunur olarak açılır.

Örneğin bir ödeme listesi dosyamız var. Bu ödeme listesi dosyasına bir adet giriş şifresi koyduk. Password parametresine 123 gönderdim. Bu şifreyi iş yerimiz deki  tüm çalışanlara verdik. Fakat bu dosya üzerinde değişiklikleri, sadece muhasebe deki çalışanların yapmasını istiyorum. O halde bu parametreye 111 gönderirsek,istediğimizi yapmış oluruz. Bu haliyle tüm çalışanlarım bu dosyaya ulaşabiliyor. Ama sadece yazma şifresini  bilen (111) çalışanlarım dosya üzerinde değişiklik yapabilecek. Diğer çalışanlarım sadece dosyayı açabilecek fakat değişiklik yapamayacaklardır.

Örnek Kullanım : 123456789 gibi

  • ReadOnlyRecommended

Dosya her açılışta Salt Okunur olarak açılmasını öneren bir mesaj çıkar.

Öneri Mesajı

Örnek Kullanım : false

  • AddToMru

Excel’de son kullanılan dosyalar listesine dosyayı ekler.

Örnek Kullanım : true

  • AccessMode

Bu seçenek erişim izinleriyle ilgili olduğunu zannediyorum. Diğer seçenekler için burayı ziyaret edebilirsiniz.

Örnek Kullanım : Excel.XlSaveAsAccessMode.xlExclusive

Parametreleri verdikten sonra örnek bir çalışma yapabiliriz.

  • Çalışma Kitabını Åžifreli Nasıl Kayıt Edebiliriz ?
CalismaKitabi.SaveAs(@"C:\Excel1.xlsx",
                Excel.XlFileFormat.xlWorkbookDefault,
                "123456",
                Type.Missing,
                false,
                Type.Missing,
                Excel.XlSaveAsAccessMode.xlExclusive);
  • Çalışma Kitabını Åžifresiz Normal Nasıl Kayıt Edebiliriz?
CalismaKitabi.SaveAs(@"C:\Excel1.xlsx",
                Excel.XlFileFormat.xlWorkbookDefault,
                Type.Missing,
                Type.Missing,
                false,
                Type.Missing,
                Excel.XlSaveAsAccessMode.xlExclusive);

Bu makale için yapmış olduğum örnek çalışma : C# Ile Excel Dosyasini Kaydetme (263)

Lütfen sorularınızı bu makalenin yorumlar kısmında sorunuz.


Tags: , , , , , , , , , , , , , , , , , , , , ,

One Response to “C# İle Excel Dosyasını Kaydetme”

  1. [...] İşlem çok basit olmakla beraber, şifreli dosyalar veya diğer özelliklerde açmak için "Excel Dosyasını Kaydetme" adlı yazımı okumanızı öneririm.  Çünkü açma parametreleri ile kaydetme parametreleri [...]

Leave a Reply