C# ile Excel’ e Veri Aktarma – Ahmet Cansever
Cuma , 24 Mart 2017
Anasayfa » C# » C# ile Excel’ e Veri Aktarma

C# ile Excel’ e Veri Aktarma

C# ile excel programına veri transfer örneği:

Aşağıdaki gibi bir form oluşturulup datagridview’e veri bağlantısı kuralım. Veri bağlantısı kurma sıkıntısı çekerseniz önceki dersleri inceleyebilirsiniz.

excel_veri_form

Daha sonra Solution Explorer dan  “References” e sağ tıklayarak Add Reference diyoruz. Daha sonra karşımıza  ” Reference Manager ” sayfası gelecektir. Excel’e aktarım işlemi yapacağımız için buradan ” Microsoft.Office.Interop.Excel ” (Microsoft Excel 15.0 Object Library) i seçiyoruz.ve reference ekleme işlemini bitirmiş oluyoruz.

.excel_veri__addreference

Kodlamaya geçiyoruz. Kod satırında en üste

ekliyoruz. Daha sonra Excel’e Aktar butonuna çift tıklayarak aşağıdaki kodları ekliyoruz.

Programı çalıştırıp “Excel’e Aktar”  butonuna bastığınızda Datagrid’ deki verilerin Excel’e aktarıldığını göreceksiniz.

 

DataGridview’de seçili olan satırların aktarılması istenirse DatagridView özelliklerinden SelectionMode özelliği FullRowSelect, MultiSelect özelliği ise True yapıldıktan sonra aşağıdaki kodlar uygulanabilir.

excel_veri__excel

C# Word’ e Veri Aktarma Örneği için Tıklayın.
C# Access Veritabanı Bağlantısı Örneği için Tıklayın.

C# Excele belirli bir koşula bağlı olarak biçimlendirmeli veri aktarma örneği için tıklayın.

csharp_excel_bicimlendir_3

 
Örneğe ait videoyu izleyebilirsiniz.

Hakkında admin

İlginizi Çekebilir

JavaScript ile İki Açısı Girilen Üçgenin Diğer Açısını Bulma

Son Güncellenme : 24th Şubat, 2017Bu yazımızda JavaScript kullanarak iki açısı girilen bir üçgenin, 3. …

34 Yorumlar

  1. Paylaşım için tesekkurler, cok isime yaradı. Peki başıkları ve satırları biçimlendirmek için ne yapabiliriz? örnek: tablo çizgileri görünsün, tablodaki başlığa yada içeriğe göre otomatik genişletsin, başlık puntosu vs.. teşekkürler

  2. s.a hocam

    WPF de datagrid deki verileri excel aktarmak istiyorum ama olmadı sizin verdiğiniz örnekte datagridwievde olduğu için datagrid de hata veriyor yardımcı olurmusunuz.

  3. Ben datagridview den excel e aktardığımda excel salt okunur diyor. Oysaki excel önceden olan bir excel. sadece datagrid den bir satır sildim. Kalanının tekrar exce de görülmesini istiyorum fakat excel imi açtığımda salt okunur diyor. Tamam dediğimde ise sildiğim satır öylece duruyor.

  4. hocam bende çalıyor fakat sadece başlıklar geliyor. alt satırları aktarmıyor. ne olaki acaba?

    Excel.Application exceldosya = new Excel.Application();
    exceldosya.Visible = true;
    object Missing = Type.Missing;
    Office.Workbook kitap1 = exceldosya.Workbooks.Add(Missing);
    Office.Worksheet sekme1 = (Excel.Worksheet)kitap1.Sheets[1];
    int sutun = 1;
    int satir = 1;

    for (int j = 0; j dataGridView1.Columns.Count; i++)
    {
    for (int j = 0; j > dataGridView1.Columns.Count; j++)
    {
    Excel.Range myrange = (Excel.Range)sekme1.Cells[satir + i, sutun + j];
    myrange.Value2 = dataGridView1[j, i].Value == null ? “” : dataGridView1[j, i].Value;
    myrange.Select();
    }
    }

  5. bu yöntemle ortalama 14000 adetilik veriyi aktarmak 7 dakika sürüyor bunun daha hızlı bir yolu yok mu

  6. Merhaba,
    Yaptığınız kodlardan faydalanarak sorunumu halletmeye çalıştım fakat;

    “An unhandled exception of type ‘System.Runtime.InteropServices.COMException’ occurred in mscorlib.dll
    Additional information: HRESULT özel durum döndürdü: 0x800AC472”

    hatası alıyorum. Sorunun nerde olduğunu çözemedim, yarımcı olursanız çok sevinirim..

  7. Yazınızdan faydalandım. Teşekkür ederim.
    Microsoft Office’i yüklemeden Excel için Object Library’i referans gösteremedim(open office kullanıyordum). Ancak bir şekilde Microsoft Office kurduktan sonra referans gösterebildim.
    Başarılar dilerim.

  8. datagridview deki satırlardan bir kaç tane seçip sadece oları excele aktarabiliyor muyuz?

  9. volkan karataş

    üstad peki arama işlemini nasıl yapabiliriz

  10. Merhaba teşekkürler öncelikle. Ancak datagridviewdaki verileri excele aktardıktan sonra programı sadece task manager ile kapatabiliyorum. Neden kaynaklanıyor olabilir teşekkürler

    • Herhangi bir sorun olmaması gerekiyor. Veritabanı bağlantı kısımlarına da bir göz atın isteseniz.
      Yazının altına video da ekledim.

  11. Hocam öncelikle emeklerinize sağlık çok faydalı olmuş gerçekten işime yaradı.Ancak şöyle bi sıkıntı var bunula iligli kaynaklar da oldukça kısıtlı.verileri excele aktarırken ortalı olarak rapor etmeyi nasıl yapacam?

    • Teşekkürler. Aşağıda vermiş olduğum kodları incelerseniz textbox’ taki metnin istenilen hücreye nasıl yazdırılabileceğini görebilirsiniz. Sanırım sorununuz da excel’ de belirli hücrelere yazdırma işlemi. Aşağıdaki kodlar çalıştırıldığında textbox’ ta bulunan metnin 2.satır 3. sütuna yazdırılmasını sağladım (5. satır).

      private void button1_Click(object sender, EventArgs e)
      {
      Microsoft.Office.Interop.Excel.Application uygulama = new Microsoft.Office.Interop.Excel.Application();
      uygulama.Visible = true;
      Microsoft.Office.Interop.Excel.Workbook kitap = uygulama.Workbooks.Add(System.Reflection.Missing.Value);
      Microsoft.Office.Interop.Excel.Worksheet sayfa1 = (Microsoft.Office.Interop.Excel.Worksheet)kitap.Sheets[1];
      Microsoft.Office.Interop.Excel.Range alan = (Microsoft.Office.Interop.Excel.Range)sayfa1.Cells[2, 3];
      alan.Value = textBox1.Text;
      }

  12. netframework 2 de çalışıyormu acaba çünkü 4 ile yaptım referanslara ekleniyor görünüyor iki de referanslara eklenemiyor bilgi alabilirmiyim.

  13. Çok işime yaradı. Teşekkürler.

  14. Ben yaklaşık 2-3 ay önce Access veri tabanlı bir program yazdım.Ve verileri excele aktarmam gerktiği için sizin sitenize baktım.Bu vermiş olduğunuz kodlar ile birlikte datareader kullanılamıyor.@recep’in demek istediği olayda bu sanırsam.

  15. çalışmadı ya bende

  16. Hocam bende bu kodu kullanıyorum saat yazdırdığım zaman görünmüyor.

  17. evet COM bölümünden ekledim ve using kısmına o kod blogunu yazınca tüm kod bloglarımdaki veritabanı bağlantısıyla alakalı kodlar kırmızı renkli altı çizili bir şekil alıyor ve hatalı olarak görüyor…

    Neyse Bu sorunumu başka bir kod blogu ile hallettim using kısmına hiç bişi eklemeden,Datagridview dekileri excele aktarabiliyorum,fakat şablonu oluşturulmuş birexcel oluşturdum bunun içine nasıl akatabilirim ? yardımcı olursanız çok sevinirim.

  18. using Excel = Microsoft.Office.Interop.Excel;

    using Microsoft.Office.Interop.Excel;

    Bu kısmı en üste eklediğimizde access veri tabanına ait bağlantı yapılan tüm kodlar "datatable,dataset ..vs"

    çalışmaz hale geliyor ve hata veriyor.Nasıl Düzelte Biiliriz acaba ?

    • Her hangi bir sorun çıkmaması gerekiyor. Solution explorer penceresinde Reference eklediniz mi?

      Reference üzerinde Sağ tık- Add Reference . Sol tarafta COM bölümünden Microsoft Excel 15.0 Object Library.

  19. Teşekkürler işime yaradı..

Yorum Yap

Wordpress Tema indir