C# C# Windows Form Örnekleri Programlama

C# Excel’ e Veri Gönderme ve Biçimlendirme

Bu yazımızda daha önce C# ile Excel’ e Veri Aktarma konu başlıklı örneğimizden farklı olarak yine C# ile DataGridview kontrolünden Excel‘ e veri aktarımı işlemini yapan fakat belirlenen şartı sağlayan satır için hücre arkaplan rengini değiştiren bir örnek gerçekleştireceğiz. Ayrıca C# ile Excel hücresinin Yazı tipi (Font), Yazı Boyutu (FontSize), Yazı Rengi (FontColor), Sütun Genişliği gibi ayarların uygulanmasını sağlayacağız.

DataGridView için veri aktarma kısmı için önceden hazırladığım ve yazının sonunda linkini verdiğim örneği  kullanacağım.

Formumuzu tasarlayarak projemize başlayalım.

csharp_excel_bicimlendir_2

Burada bizim için önemli kısım Aktar butonu olacak. Aktar Butonuna tıkladığımızda Sütun Başlıkları için Yazı Rengini,Yazı tipini,Yazı büyüklüğünü, Yazı Kalınlığını ve Sütun Genişliğini ayarlayacağız.

Başlık ayarlamaları Bittikten sonra belirlediğimiz bir şart için, o koşula uyan satırın arkaplan renginin Kırmızı olmasını sağlayacağız.

Örneğimizde  Şehir sütununda “İstanbul” yazan kayıtlar için satır rengini değiştireceğiz.

Kodlarımızı yazıp projemizi çalıştırdığımızda Excel dosyamız aşağıdaki şekilde görüntülenecek.

 

csharp_excel_bicimlendir_3

Kodlarımızı yazmaya başlamadan önce gerekli referans eklemesini yapacağız. Bunun için Solution Explorer penceresinde projemize sağ tıklayarak Add – Reference tıklıyoruz.

csharp_excel_bicimlendir_4

Daha sonra karşımıza çıkan pencereden Microsoft Excel 16.0 Object Library seçerek projemize ekliyoruz.

csharp_excel_bicimlendir_5

 

Şimdi kodlarımıza geçiyoruz. İlk olarak gerekli referansımızı projemize ekleyelim.

 

Şimdi Aktar butonu için kodlarımızı yazıyoruz.

İşlem tamam. Artık projemizi çalıştırıp aktar butonuna tıklandığında yukarıda ekran görüntüsünü eklemiş olduğum şekilde Excel dosyamız açılacaktır.
Deneme yapmak için Datagridview’ e veri çekme işlemini buradaki örnek üzerinden alabilirsiniz.

Daha fazla örnek için Facebook Sayfamızı beğenin.

 

6 Yorum

  • hocam Excel aktarımda 0ile başlayan rakamların basındaki sıfırları siliyor datagrid de nasıl görünüyor ise o sekilde aktarmasını istiyorum kod var elimde ama

    private void button2_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];
    for (int i = 0; i < dataGridView1.Columns.Count; i++)
    {

    Microsoft.Office.Interop.Excel.Range alan = (Microsoft.Office.Interop.Excel.Range)sayfa1.Cells[1, i + 1];
    alan.Value2 = dataGridView1.Columns[i].HeaderText;
    }
    for (int i = 0; i < dataGridView1.Columns.Count; i++)
    {
    for (int j = 0; j < dataGridView1.Rows.Count; j++)
    {
    Microsoft.Office.Interop.Excel.Range alan = (Microsoft.Office.Interop.Excel.Range)sayfa1.Cells[j + 2, i + 1];
    alan.Value2 = dataGridView1[i, j].Value;
    }

    }
    }
    bu kod ile aktardıgım zaman başındaki sıfırları siliyor veya (1,6E2222) gibi barkod kodlarınıda aynı sekilde aktarıyor kodumda yanlış olan nedir yardımcı olurmusunuz

  • Ahmet By. gönderdiğiniz link .xlsx dosyasından okuma yapmak için kullanışlı olabilir fakat benim ihtiyacım olan benim ismini belirlediğim xlsx dosyasına birden fazla kez yazmak. İki ayrı formdan aktar butonlarını kullanarak her iki form açık iken aynı excel dosyasına istediğim verileri aktarmak istiyorum. aktarma yaparken excel açılmamış olursa yapılabilir bir işlem olduğunu düşünüyorum.

  • İki farklı formun aynı anda ekranda ulaşılabilir olduğu bir durum düşünelim ve bu iki formdan da farklı bilgileri farklı hücrelere göndermek istiyorum yani excel’de tablo yaratacağım. Bunu sağlamak için benim belirlediğim bir isimde excel (.xslx) dosyasına verileri aktarsın ve diğer formdan veri göndermek istediğimde aynı excel dosyasına yazsın.

  • Ben iki farklı formdan aktar butonu kullanarak aynı excele yazmak istiyorum fakat her iki form da kendine yeni bir excel açıyor. Bu konuyla ilgili acil çözüm.

Yorum yap