Merhabalar, bu yazımda C# DataGridView Excel Oluşturma – Dışa Aktarma konusuna bakacağız. DataGridView üzerindeki verileri bir Excel dosyası olarak dışa nasıl aktaracağımızı anlatmaya çalışacağım. Bu kodlar hazır kodlar olduğundan yani üzerinde çok uğraşmadığım için tam bilgimin olmadığı bir konu olduğu için kodları tam olarak açıklayamayacağım. Bu sebeple çalışan kodları vereceğim sadece.
C# DataGridView Excel Oluşturma – Dışa Aktarma
Kodları vermeden önce projemize referans eklememiz gerekiyor.
Solution Explorer > Referances > Add Referance diyoruz. COM kısmına geliyoruz ve Microsoft Excel 16 Object Library ‘i bulup projemize ekliyoruz.
NOT: Buradaki 16 sayısı versiyondan dolayı değişiklik gösterbilir.
Referansı ekledikten sonra Referanslar kısmında Microsoft.Office.Core ve Microsoft.Office.Interop.Excel namespace’lerinin eklemiş olduğunu görebilirsiniz.
Bu dışa aktarma işlemini yaparken SaveFileDialog nesnesini de kullanacağız. Bu sayede nereye kaydetmek istediğimizi rahatlıkla belirleyebileceğiz. Kodları aşağıda görebilirsiniz.
public static void Excel_Disa_Aktar(DataGridView dataGridView1) { SaveFileDialog save = new SaveFileDialog(); save.OverwritePrompt = false; save.Title = "Excel Dosyaları"; save.DefaultExt = "xlsx"; save.Filter = "xlsx Dosyaları (*.xlsx)|*.xlsx|Tüm Dosyalar(*.*)|*.*"; if (save.ShowDialog() == DialogResult.OK) { Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing); Microsoft.Office.Interop.Excel._Worksheet worksheet = null; app.Visible = true; worksheet = workbook.Sheets["Sayfa1"]; worksheet = workbook.ActiveSheet; worksheet.Name = "Excel Dışa Aktarım"; for (int i = 1; i < dataGridView1.Columns.Count + 1; i++) { worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText; } for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } } workbook.SaveAs(save.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing); app.Quit(); } }
Kodlarımızda gördüğünüz gibi ilk olarak bir SaveFileDialog açıyoruz. Bu diyalog penceresinde Tamam butonuna tıkladığında verdiğimiz isim ile verdiğimiz yola kaydetme işlemi yapılıyor.
Kodları incelediğimizde, DataGridView’deki hücrelerin for döngüleri ile teker teker okunup Excel dosyasına eklendiğini anlayabiliyoruz.
NOT: Office programınız ingizlice ise Sayfa1 kısmında hata alabilirsiniz. O zaman Sheet1 olarak değiştirmeyi deneyebilirsiniz.
Kayıt yerini, app.Quit(); satırının hemen üstündeki satırda yer alan save.FileName kısmıdır. Sürekli belirli bir yere ve belirli bir ad ile kaydetmek istiyorsanız SaveFileDialog kısmını silerek bu kısmı değiştirebilirsiniz.
Bir Class İle Kullanmak
Bu metodu olduğu gibi bir Class içerisine alabilirsiniz. İlk satırda gördüğünüz gibi bu metod DataGridView nesnesi alan bir parametreye sahip. Bu kodlara bir class dosyası içerisine aldıktan sonra aşağıdaki gibi tek satır olarak kullanabilirsiniz.
DısaAktarmalar.Excel_Disa_Aktar(dataGridView1);
Burada bu kodlarımı eklediğim class’ımın adı DısaAktarmalar ‘dır.
C# DataGridView Excel Oluşturma – Dışa Aktarma dersimizde bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere…
Bu sıkıntılı zamanlarda çok dışarı çıkmamaya ve elinizden geldiğince temizliğine özen göstermeye çalışın. Sevgi ve saygılarımla…
Ek bir DLL gerektirdiğinden bu dersi Github projeme eklemiş olsamda çalışmayacaktı bu sebeple eklemedim.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
Sağlıcakla ve takipte kalın.
Yorumlar (1)