C# da Excel e Bağlanma ve VeriLeri Okuma Sınıfı 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.IO;


namespace ConnectExcel
{
    public class ExceleBaglanma
    {
        OleDbConnection baglanti;
        OleDbCommand komut;
        DataTable dt=null;
        DataSet dataset=null;

        public ExceleBaglanma(string dosyayolu)  //KURUCU
        {
            var ext = dosyayolu.Substring(dosyayolu.LastIndexOf('.') + 1).ToLower();

            if (ext=="xlsx") // dosya uzantısına göre baglantı satırı verir.Her format için farklıdır.
            {
                baglanti = new OleDbConnection("Data Source=" + dosyayolu + ";Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0");
            }
            else if(ext=="xls")
            {
                baglanti = new OleDbConnection("Data Source=" + dosyayolu + ";Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0");
            }
        }

        public DataTable ExcelVerileriniAl(string dosyayolu)
        {
            try
            {
                komut = new OleDbCommand("select * from [Sheet1$A:C]", baglanti);

                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }

                //OleDbDataReader oku = komut.ExecuteReader();
                dt = new DataTable();
                dataset = new DataSet();

                OleDbDataAdapter adap = new OleDbDataAdapter(komut);

                adap.Fill(dataset);

                //Excel'de bulunan datalar .Net tarafında bir Datatable'a alındı
                dt = dataset.Tables[0];
                
                //Upload edilen excel dosyasını serverdan sil...
                File.Delete(dosyayolu);

                return dt;
            }
            catch (Exception)
            {
                return null;
            }
            finally
            {
                baglanti.Dispose();
                baglanti.Close();
            }  
        }

NOT:Projemize excel için gerekli olan dll leri eklemeyi unutmayalım.

Hiç yorum yok:

Yorum Gönder