1. Anasayfa
  2. C#

C# İle Excel’e Veri Yazmak


8

C# İle Excel’e Veri Yazmak. Bu yazımda sizlerle MS SQL veri tabanından alacağımız verileri Excel içerisine yazdırma işlemini gerçekleştireceğiz. Yapacağımız işlemler veri tabanı hazırlama ve C# kodlamaları olarak iki kısımda gerçekleşecektir.

-Veri Tabanı Hazırlama

SQL Server Management Studio ortamını açalım ve kullanacağımız veri tabanını oluşturalım.


Resim-1

Databases sekmesine sağ tıklayalım ve New Database seçeneğini seçelim.


Resim-2

Database Name kısmına kullanacağımız veri tabanı adını yazalım bu işlemi gerçekleştirdikten sonra OK tuşuna basalım ve veri tabanı oluşturma işlemini gerçekleştirelim.


Resim-3

Oluşturduğumuz veri tabanını açalım ve Tables sekmesine sağ tıklayıp Table seçeneğini seçelim ve verilerimizin tutulacağı tabloyu oluşturalım.

Resim-4

Tablomuza alanlarımız ekleyelim ve tablomuzdaki ID değerimiz seçili iken alt tarafta bulunan Identity Specification seçeneğini Yes olarak değiştirelim. Veri tabanına her kayıt eklendiğinde bu alandaki kayıtlar otomatikman birer birer artacaktır.


Resim-5

Tablomuza isim verelim ve kaydedelim.


Resim-6

Tablomuza sağ tıklayalım ve Edit Top 200 Rows seçeneğini seçelim böylelikle tablomuza kayıt girme işlemini gerçekleştirmiş olacağız.


Resim-7

Tablomuza birkaç kayıt ekledik böylece veri tabanı kısmını tamamladık artık C# tarafında işlemlerimizi gerçekleştirebiliriz.

C# Excel işlemleri

Visual Studio IDE ortamını açalım.


Resim-8

File>New>Project bağıntısını izleyelim ve proje oluşturma işlemlerine başlayalım.


Resim-9

Visual C#>Windows>Windows Forms Application seçeneğini seçelim proje adı ve kayıt edileceği yeri seçip projemizi oluşturalım.


Resim-10

Formumuza bir adet DataGridView bir adet Button kontrolü ekleyelim. DatagridView kontrolü ile veri tabanımızda bulunan verileri listeleyeceğiz, Button ile verilerimizi Excel’e aktaracağız.


Resim-11

SqlConnection sınıfı ile tanımlamış olduğumuz veri tabanımıza bağlantı sağlayalım. Veri tabanımızdan alacağımız verileri sorgumuzda belirtelim.

SqlCommand sınıfı ile sorgumuzu ve bağlantımızı çalıştıralım ve veri tabanımızdan verilerimizi alalım.

SqlDataAdapter sınıfı ile almış olduğumuz aldığımız verileri DataTable nesnesinin içerisinde tablo yapısı kullanarak verilerimizi DataGridView nesnemizin DataSource(veri kaynağı) özelliğinden yararlanarak verilerimizi ekranda göstermiş olduk.

Almış olduğumuz verileri Excel ortamına aktarabilmemiz için öncelikle Excel programının DLL dosyasını programımıza tanıtmamız gerekmektedir.


Resim-12

Solution Explorer penceresinde bulunan References sekmesine sağ tıklayalım ve Add Reference seçeneğini seçelim.


Resim-13

Microsoft.Office.Interop.Excel.dll dosyasını projemize ekleyelim.


Resim-14

Öncelikle bir Excel nesnesi oluşturalım oluşturduğumuz nesneye bir çalışma sayfası ekleyelim. Excel satır ve sütunlardan oluştuğundan satır ve sütunların başlangıç değerlerini girelim. Veri göstereceğimiz ekrandaki kayıtları foreach döngüsü ile satır ve sütunlara yerleştirelim.

Programımızı F5 tuşuna basarak çalıştıralım.


Resim-15

“Excel Oluştur” butonuna tıklayalım ve bilgileri Excel’e aktaralım.


Resim-16

Böylece verilerimizi Excel ortamına aktarma işlemini gerçekleştirmiş olduk. Bir sonra ki makalede görüşmek dileğiyle.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs : C#, MSSQL, Visual Studio, C# ile Excel islemleri, Excele Veri Aktarma, DataGridView, SqlDataSource, Sql Baglantisi, C# ile Excel

Bu İçeriğe Tepkin Ne Oldu?
  • 2
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 5
    sevdim_
    Sevdim!
  • 5
    bilemedim_
    Bilemedim!
  • 2
    olmad_
    Olmadı!
  • 4
    k_zd_m_
    Kızdım!

Servan Oral, 1991 yılında Diyarbakır’da doğdu. Üniversite öncesi öğrenimini Malatya’da tamamladı. Dicle Üniversitesi ve Atatürk Üniversitesi Bilgisayar Programcılığı mezunudur. .Net Developer olarak birçok firmada görev almıştır. MSHOWTO bünyesinde yazar olarak görev yapmaktadır. Uzmanlık alanları olan; Bilişim Güvenliği, Microsoft Azure, Microsoft Visual Studio, C# .Net, Asp.Net, Cloud Computing, Microsoft Azure SQL, Microsoft SQL Server, MVC .Net alanlarında yazarlık yapmakta ve etkinliklerde uzmanlık alanlarında konuşmacı olarak görev almaktadır. MCP sertifikası bulunmaktadır.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (8)

Popüler Yorumlar
  1. hocam excelle aktarım yaparken sorun yaşıyorum. {“HRESULT özel durum döndürdü: 0x800AC472”} bu şekilde bir hata alıyorum. geri dönüş yaparsanız sevinirim.

  2. Hocam biz Excele veri eklerken bir sorun yaşıyoruz. Bir Tarihi Excele çekmek istediğimizde bir int ifade olarak geliyor. Nedeni nedir ?

Yapılan Yorumlar
  1. Hocam biz Excele veri eklerken bir sorun yaşıyoruz. Bir Tarihi Excele çekmek istediğimizde bir int ifade olarak geliyor. Nedeni nedir ?

    • Merhaba,

      Microsoft.Office.Interop.Excel.dll excel sürümünüze uygun mudur ? Bir de tarih formatı excel formatınıza uygun olmayabilir ona bir bakabilir misiniz ?

      Teşekkürler

  2. hocam excelle aktarım yaparken sorun yaşıyorum. {“HRESULT özel durum döndürdü: 0x800AC472”} bu şekilde bir hata alıyorum. geri dönüş yaparsanız sevinirim.

  3. Excel’e aktarırken 1 sütun atlayıp öyle verileri yazıyor acaba nasıl tablodaki hali ile yazdırabiliriz ?

    • Merhabalar,

      Excel’e veri alırken kodlarınızda ekstra kolon atan bir yer var mı kontrol eder misiniz ?

      Saygılarımla

      • zaten sizin örneğinizde de kolon atlatmış.

      • Range myRange = (Range)ws.Cells[baslamaSatiri + i, baslamaKolonu+ j];

        satırları yazdırırken kodu yukarıdaki gibi yazmanız gerekirken baslamasatiri +j yazmışsınız

  4. string veritabani = “Server=;Datebase+Kişiler;IntegratedSecurity=True”;
    yukardaki fotoğrafta nasıl yazdığı görünmüyor ve ben böyle yazdım hatalı diyor yardım edermisiniz saygılarımla….

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir