Asp.Net Excel’den DataTable’a ve Access’e Bilgi Aktarımı
using System.IO;
using System.Data.OleDb;
using System.Data;
string baglanti = ""; if (FileUpload1.HasFile) { string dosyaadi = Path.GetFileName(FileUpload1.PostedFile.FileName); string dosyauzanti = Path.GetExtension(FileUpload1.PostedFile.FileName); string dosyayeri = Server.MapPath("~/gecici/" + dosyaadi); FileUpload1.SaveAs(dosyayeri); //www.aspnetornekleri.com if (dosyauzanti == ".xls") { baglanti = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dosyayeri + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""; } else if (dosyauzanti == ".xlsx") { baglanti = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dosyayeri + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; } //www.aspnetornekleri.com OleDbConnection bag = new OleDbConnection(baglanti); OleDbCommand komut = new OleDbCommand(); komut.CommandType = System.Data.CommandType.Text; komut.Connection = bag; OleDbDataAdapter dAdapter = new OleDbDataAdapter(komut); DataTable excelkayitlari = new DataTable(); bag.Open(); DataTable excelsayfasi = bag.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string excelsayfasininadi = excelsayfasi.Rows[0]["Table_Name"].ToString(); komut.CommandText = "SELECT * FROM [" + excelsayfasininadi + "]"; dAdapter.SelectCommand = komut; dAdapter.Fill(excelkayitlari); bag.Close(); GridView1.DataSource = excelkayitlari; GridView1.DataBind(); OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/veritabani.accdb")); foreach (GridViewRow row in GridView1.Rows) { OleDbCommand komut1 = new OleDbCommand("insert into sira (tcno,adisoyadi,okuladi,puani) values (@tcno,@adisoyadi,@okuladi,@puani)", baglan); komut1.Parameters.AddWithValue("@tcno", HttpUtility.HtmlDecode(row.Cells[0].Text)); komut1.Parameters.AddWithValue("@adisoyadi", HttpUtility.HtmlDecode(row.Cells[1].Text)); komut1.Parameters.AddWithValue("@okuladi", HttpUtility.HtmlDecode(row.Cells[2].Text)); komut1.Parameters.AddWithValue("@puani", row.Cells[3].Text); if (ConnectionState.Closed == baglan.State) baglan.Open(); komut1.ExecuteNonQuery(); baglan.Close(); } File.Delete(dosyayeri); } }
Yorumlar
Yorum Gönder
Yorumunuz alınmıştır. İncelenip yayımlanacaktır.