Osman KURT

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

C Sharp ile Datagridview deki Kayıtları Excele Aktarma

Bu yazımda DataGridview de listelediğimiz verileri excel dosyasına aktarmayı göstereceğim. Biliyorsunuz ki projelerimizde kullandığımız verileri bazen farklı alanlarda da kullanmamız icab edebilir. O zaman ne yapacağız database de sakladığımız verileri excel gibi programlara dökeceğiz ki hedefe ulaştırmak daha kolay olsun. Lafı zuatmadan kodlarıma geçmek istiyorum ben. İşe ilk olarak Microsoft.Office.Interop.Excel.rar (166,77 kb) dosyamızı indirdikten sonra projemize referans alarak başlayalım ve alt kısımdaki kodlarımızı cs tarafına yazalım.

private void button1_Click(object sender, EventArgs e)
{
  excele_aktar(dataGridView1);
}
void excele_aktar(DataGridView dg)
{
  dg.AllowUserToAddRows = false;
  System.Globalization.CultureInfo dil = System.Threading.Thread.CurrentThread.CurrentCulture;
  System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
  Microsoft.Office.Interop.Excel.Application Tablo = new Microsoft.Office.Interop.Excel.ApplicationClass();
  Microsoft.Office.Interop.Excel.Workbook kitap = Tablo.Workbooks.Add(true);
  Microsoft.Office.Interop.Excel.Worksheet sayfa = (Microsoft.Office.Interop.Excel.Worksheet)Tablo.ActiveSheet;
  System.Threading.Thread.CurrentThread.CurrentCulture = dil;
  Tablo.Visible = true;
  sayfa = (Worksheet)kitap.ActiveSheet;
  for (int i = 0; i < dg.Rows.Count; i++)
  {
    for (int j = 0; j < dg.ColumnCount; j++)
    {
      if (i == 0)
      {
        Tablo.Cells[1, j + 1] = dg.Columns[j].HeaderText;
      }
      Tablo.Cells[i + 2, j + 1] = dg.Rows[i].Cells[j].Value.ToString();
    }
  }
  Tablo.Visible = true;
  Tablo.UserControl = true;
}

Yazımız bu kadar arkadaşlar.

Görüşmek Üzere

Osman KURT

Yazılım Geliştirici ve Grafiker

C# da Excelden Listbox a Veri Aktarma

Arkadaşlar bu yazımızda elimizde bulunan herhangi bir excel dosyasından listboz a veri aktarmayı gösterecğim. Yapmamız gereken 1 adet windows form projesi oluşturmak ve içine 1 adet listboz 1 adet buton ve 1 adet opendialoh koymak. Daha sonra butonumuza çift tıklayarak al kısımda bulunan koldarımızı yazmak. Kodlarımız da kısaca xls dosyamızın kaynağını belirtiyoruz ve dosyamız içerisinde ki hangi alanlarda işlem yapacağamızı yazıyoruz. Daha sonra listbox.ıtems.add siyerek listbox elamanımızın içerisine verileri yazdırıyoruz.

openFileDialog1.Title = "Lütfen Dosya Seçiniz";
openFileDialog1.Filter = " (*.xls)|*.xls";
openFileDialog1.FilterIndex = 1;
openFileDialog1.Multiselect = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string dosya_adres = openFileDialog1.FileName; OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dosya_adres + ";Extended Properties=Excel 8.0");
con.Open();
string sql2 = "select * from [Sayfa1$A1:A5000] ";
OleDbCommand veri2 = new OleDbCommand(sql2, con); OleDbDataReader dr = null;
dr = veri2.ExecuteReader();

while (dr.Read())
{
if (dr[0] != "")
{
listBox1.Items.Add(dr[0].ToString());
}
else
{
break;
}
}
con.Close();
}

Kodlarımızı bu kadar arkadaşlar, umarım faydalı olur. Örneği sadece bu boyutuyla düşünmemek lazım. Çünkü bu ufak yazılar sizlere ve bizlere yardımcı olmak ve yol göstermek amacıyla var.

Görüşmek Üzere

Osman KURT

Yazılım Geliştirici ve Grafiker

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