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