C# İle Excel'den Veritabanına Kayıt Ekleme
C# kullanarak excel sayfasındaki verileri projemizdeki veritabanına eklemek için birkaç satır kod yazmamız yeterli aslında.
Udemy'de bulunan eğitim serisi için (C# ile Barkodlu Satış Programı Yapımı) küçük bir örnek yaptım. O proje için kullandığım kodları
kendi projenizde kolaylıkla kullanabilirsiniz. Veritabanı olarak SqlLocalDb kullandım, farklı veritabanı da kullanabilirsiniz.
Youtube den izleyebilirsiniz
Youtube video için tıklayınız...
İlk olarak bir form oluşturuyoruz, içerisine iki adet buton ve bir datagridview ekliyoruz.

Excel sayfasının formatını veritabanı alanlarına uygun olarak ayarlayınız.


"Microsoft.Ace.OleDb.12.0 sağlayıcısı yerel makine kayıtlı değil" gibi bir hata alma ihtimaline karşı AccessDatabaseEngine dosyasını indiriniz.
Excel Dosyası Seç butonu altına şu kodları yazınız

Kaydet butonuna ise aşağıdaki kodları yazıyoruz
BarkodDbEntities db = new BarkodDbEntities(); // Benim veritabanı contextim
private void bKaydet_Click(object sender, EventArgs e)
{
try
{
Cursor.Current = Cursors.WaitCursor;
int satir = dataGridView1.Rows.Count;
if (satir > 0)
{
for (int i = 0; i < satir; i++)
{
string barkod = dataGridView1.Rows[i].Cells["Barkod"].Value.ToString();
if (db.Urun.Any(x => x.Barkod == barkod))
{
var urunvar = db.Urun.FirstOrDefault(x => x.Barkod == barkod);
urunvar.AlisFiyat = Convert.ToDouble(dataGridView1.Rows[i].Cells["AlisFiyat"].Value.ToString());
urunvar.SatisFiyat = Convert.ToDouble(dataGridView1.Rows[i].Cells["SatisFiyat"].Value.ToString());
urunvar.Miktar += Convert.ToDouble(dataGridView1.Rows[i].Cells["Miktar"].Value.ToString());
urunvar.KdvTutari = Convert.ToDouble(dataGridView1.Rows[i].Cells["KdvTutari"].Value.ToString());
db.SaveChanges();
}
else
{
Urun urun = new Urun();
urun.Barkod = dataGridView1.Rows[i].Cells["Barkod"].Value.ToString();
urun.UrunAd = dataGridView1.Rows[i].Cells["UrunAd"].Value.ToString();
urun.Aciklama = dataGridView1.Rows[i].Cells["Aciklama"].Value.ToString();
urun.UrunGrup = dataGridView1.Rows[i].Cells["UrunGrup"].Value.ToString();
urun.AlisFiyat = Convert.ToDouble(dataGridView1.Rows[i].Cells["AlisFiyat"].Value.ToString());
urun.SatisFiyat = Convert.ToDouble(dataGridView1.Rows[i].Cells["SatisFiyat"].Value.ToString());
urun.KdvOrani = Convert.ToInt32(dataGridView1.Rows[i].Cells["KdvOrani"].Value.ToString());
urun.KdvTutari = Convert.ToDouble(dataGridView1.Rows[i].Cells["KdvTutari"].Value.ToString());
urun.Birim = dataGridView1.Rows[i].Cells["Birim"].Value.ToString();
urun.Miktar = Convert.ToDouble(dataGridView1.Rows[i].Cells["Miktar"].Value.ToString());
urun.Tarih = DateTime.Now;
urun.Kullanici = "Admin";
urun.Onay = true;
db.Urun.Add(urun);
db.SaveChanges();
}
}
}
Cursor.Current = Cursors.Default;
MessageBox.Show("Yükleme Tamamlanmıştır");
}
catch (Exception hata)
{
MessageBox.Show("Bir hata oluştu..." + Environment.NewLine + hata.ToString());
}
}
Son olarak test

iyi çalışmalar
Etiketler
c# excel
excel'den veritabanına kayıt
C# excel kayıt