16 Eylül 2019 Pazartesi
Asp.NET Web Form'da Excel'den okuduğun veriyi mssql veri tabanına insert etme
protected void btnUpload_Click(object sender, EventArgs e)
//FileUpLoad Nesnesine eklenen dosyayı kayıt etme işlemi
{
if (fluExcel.HasFile) //FileUpload nesnesinde dosya var mı kontrol ediyoruz
{
string fileExtension = System.IO.Path.GetExtension(fluExcel.FileName).ToLower();
if (fileExtension == ".xls" || fileExtension == ".xlsx")
{
string newFileName = new Guid().ToString() + fileExtension;
string filePath = System.IO.Path.GetFullPath(Server.MapPath("~/App_Data/"));
fluExcel.PostedFile.SaveAs(filePath + newFileName);
LoadExcel(newFileName);
}
else
{
lblMesaj.Text = "Excel dosyası seçiniz!";
}
}
}
private void LoadExcel(string newFileName)
{
try
{
OleDbConnection oleDbConn = new OleDbConnection();
string path = System.IO.Path.GetFullPath(Server.MapPath("~/App_Data/")) + newFileName;
if (Path.GetExtension(path) == ".xls")
{
oleDbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties =\"Excel 8.0;HDR=Yes;IMEX=1\"; ");
}
else if (Path.GetExtension(path) == ".xlsx") //Ben .xlsx uzantılı dosya eklediğimde Microsoft.ACE.OLEDB.12.0 Sağlayıcısı Yerel Makine Kayıtlı Değil Hatası aldım .xls yüklediğimde çalıştı
{
oleDbConn = new OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + path + ";Extended Properties = \"Excel 12.0 Xml; HDR = YES\";");
}
oleDbConn.Close();
OleDbCommand cmd = new OleDbCommand();
DataTable dt = new DataTable();
cmd.Connection = oleDbConn;
cmd.CommandText = "Select * from [Sayfa1$]"; //Excel'deki sayfa adı
cmd.CommandType = CommandType.Text;
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(dt);
grdExcel.DataSource = dt;
grdExcel.DataBind();
}
catch (Exception)
{
throw;
}
}
private void ReadGridViewWriteSql(string newFileName)
SqlConnection baglanti = new SqlConnection(@"Data Source="";Initial Catalog="";User ID="";Password="";"); //Connection string cümleciğinizi uygun şekilde yazmalısınız.
baglanti.Open();
foreach (GridViewRow row in grdExcel.Rows)
{
SqlCommand sorgu = new SqlCommand("insert into deneme (kolon1,kolon2) values ('" + row.Cells[0].Text + "','" + row.Cells[1].Text + "')", baglanti);
sorgu.ExecuteNonQuery();
}
baglanti.Close();
// https://www.youtube.com/watch?v=OWJnUwW307w adresinden izleyerek oluşturulmuş kodlardır. Dilerseniz izleyerek uygulamalı yapabilirsiniz.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder