Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

ASP.Net de Excelden Veri Okuma ve Okunan Veriyi SQL'e Aktarma

Bu yazımda sizlere geçen bir projemde kullanmış olduğum bir kod yapısından bahsedeceğim. Excelden veriyi okumak ve okunan veriyi sql e kod kullanarak kaydetmek.

Öncelikle sayfamıza bir adet gridview ekliyoruz. Daha sonra c# tarafımıza geçerek excelden verilerimizi çekerek gridview içine dolduruyoruz.

 

protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataSource = getirTumATSTablo();
        GridView1.DataBind();
    }

    DataTable getirTumATSTablo()
    {
        string dosya_adres = @"D:\osmankurt.xls";
        OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dosya_adres + ";Extended Properties=Excel 8.0");
        baglanti.Open();

        string query = "select * from [Sayfa1$A1:C800] ";
        OleDbDataAdapter oAdp = new OleDbDataAdapter(query, baglanti);
        DataTable dt = new DataTable();
        oAdp.Fill(dt);
        return dt;

    }

 

Şimdi sayfamıza bir adet buton atıyoruz ve butonumuza çift tıklıyoruz. Açılan kod satırımıza alt kısımda ki kodlarımızı yazıyoruz.

 

foreach (GridViewRow row in GridView1.Rows)
        {
            SqlCommand cmd = new SqlCommand("insert into Mail (A,B) values (@A,@B)", baglan.baglanti);
            cmd.Parameters.AddWithValue("@A", row.Cells[0].Text);
            cmd.Parameters.AddWithValue("@B", row.Cells[1].Text);
            if (ConnectionState.Closed == baglan.baglanti.State)
                baglan.baglanti.Open();
            cmd.ExecuteNonQuery();
            baglan.baglanti.Close();
        }

 

Bu kodumuzda yaptığımız işlem gridview içindeki satırları tek tek dolaşarak her satırda yazılı veriyi veritabanımıza kaydetmek. Algoritması son derece basit. Aslında bu işi direk yapan kod bloklarımız var fakat ben böyle bir yöntemle okumaya gittim.

Görüşmek Üzere,

Osman KURT

Yazılım Geliştirici ve Grafiker | Ineta K12 Spekaer

ASP.Net de Excelden Veri Okumak

Merhaba arakadaşlar yine işinize çok yarayacağını düşüğüm bir kodu sizinle paylaşacağım. Bildiğiniz üzere güzel Türkiyemizde veriler her zaman mssql de veritabanında saklanmıyor. Çoğu insanımız verilerini hücre mantığı olduğu ve kullanımı kolay olduğu için Microsoft office Excel de saklıyor. Onun için bizde excelden veri okutmayı baya bir yerde projede kullanabiliyoruz.Uzmatmadan kodumuzageçelim isterseniz.

DataTable getirTumATSTablo()
{
 string dosya_adres=@"C:\osmankurt.xls";
 OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + adresimiz + ";Extended Properties=Excel 8.0");
baglanti.Open();

 string query = "select * from [Tablo1$C2:F200] ";
OleDbDataAdapter oAdp = new OleDbDataAdapter(query, baglanti);
DataTable dt = new DataTable();
oAdp.Fill(dt);
return dt;

Kodlarımız bu kadar arkadaşlar.dikkat etmenizi istediğim bir nokta ise hücre yönetimi eğer kodları birkez daha incelerseniz string query kısmında hücre adreslerini verdiğimizi göreceksiniz. Benim kodlarımda C2 ile F200 arası kalan veriler okunmaktadır.Yararlı olması dileğiyle.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker