Ddo1.com WebMaster & Kodlama Forumu

Tam Versiyon: C# DataGridview to Excel (DataGridView'den Excele veri aktarma)
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Kod:
using System;
using System.Data;
using System.Windows.Forms;
using ClosedXML.Excel;

namespace Proje1
{
   class xlsxAktar
   {
       public static void xlsxKaydet(DataGridView veriTablosu)
       {
           try
           {
               DataTable tablo_ = new DataTable();
               foreach (DataGridViewColumn sutun in veriTablosu.Columns)
               {
                   tablo_.Columns.Add(sutun.HeaderText, sutun.ValueType);
               }
               foreach (DataGridViewRow satir in veriTablosu.Rows)
               {
                   tablo_.Rows.Add();
                   foreach (DataGridViewCell hucre in satir.Cells)
                   {
                       tablo_.Rows[tablo_.Rows.Count - 1][hucre.ColumnIndex] = hucre.Value.ToString();
                   }
               }

               SaveFileDialog dosyakaydet = new SaveFileDialog();
               dosyakaydet.FileName = "xlsxProjeDosyaAdı"; // burada dosya adı belirtilebilir
               dosyakaydet.InitialDirectory = Environment.SpecialFolder.Desktop.ToString();
               dosyakaydet.Filter = "XLSX Office Dosyası|*.xlsx"; // Dosya uzantısı burada belirtilebilir.
               if (dosyakaydet.ShowDialog() == DialogResult.OK)
               {
                   using (XLWorkbook calismaKitabi = new XLWorkbook())
                   {
                       calismaKitabi.Worksheets.Add(tablo_, "Proje1");
                       calismaKitabi.SaveAs(dosyakaydet.FileName);
                       MessageBox.Show("Office Exel XLSX dosyası başarıyla oluşturuldu!\n" + "Dosya Konumu: " + dosyakaydet.FileName, "İşlem Tamam");
                   }
               }
           }
           catch (Exception hata)
           {
               MessageBox.Show(hata.Message);
           }
       }
   }
}