萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> c#將Excel數據導入到數據庫的實現代碼

c#將Excel數據導入到數據庫的實現代碼

 這篇文章主要介紹了c#將Excel數據導入到數據庫的實現代碼,有需要的朋友可以參考一下

假如Excel中的數據如下: 21.jpg     數據庫建表如下:   22.jpg   其中Id為自增字段: 23.jpg     代碼:      代碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Data.SqlClient;   namespace InExcelOutExcel {     public partial class ExcelToDB : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {             FileSvr fileSvr = new FileSvr();             System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:UsersNewSpringDesktopDemoInExcelOutExcelInExcelOutExcelexcelExcelToDB.xlsx", "mapTable");             fileSvr.InsetData(dt);         }     }     class FileSvr     {         /// <summary>         /// Excel數據導入Datable         /// </summary>         /// <param name="fileUrl"></param>         /// <param name="table"></param>         /// <returns></returns>         public System.Data.DataTable GetExcelDatatable(string fileUrl, string table)         {             //office2007之前 僅支持.xls             //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";             //支持.xls和.xlsx,即包括office2010等版本的   HDR=Yes代表第一行是標題,不是數據;             const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";               System.Data.DataTable dt = null;             //建立連接             OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));             try             {                 //打開連接                 if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)                 {                     conn.Open();                 }                     System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);                   //獲取Excel的第一個Sheet名稱                 string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();                   //查詢sheet中的數據                 string strSql = "select * from [" + sheetName + "]";                 OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);                 DataSet ds = new DataSet();                 da.Fill(ds, table);                 dt = ds.Tables[0];                   return dt;             }             catch (Exception exc)             {                 throw exc;             }             finally             {                 conn.Close();                 conn.Dispose();             }           }           /// <summary>         /// 從System.Data.DataTable導入數據到數據庫         /// </summary>         /// <param name="dt"></param>         /// <returns></returns>         public int InsetData(System.Data.DataTable dt)         {             int i = 0;             string lng = "";             string lat = "";             string offsetLNG = "";             string offsetLAT = "";               foreach (DataRow dr in dt.Rows)             {                 lng = dr["LNG"].ToString().Trim();                 lat = dr["LAT"].ToString().Trim();                 offsetLNG = dr["OFFSET_LNG"].ToString().Trim();                 offsetLAT = dr["OFFSET_LAT"].ToString().Trim();                   //sw = string.IsNullOrEmpty(sw) ? "null" : sw;                 //kr = string.IsNullOrEmpty(kr) ? "null" : kr;                   string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT);                   string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();                 SqlConnection sqlConnection = new SqlConnection(strConnection);                 try                 {                     // SqlConnection sqlConnection = new SqlConnection(strConnection);                     sqlConnection.Open();                     SqlCommand sqlCmd = new SqlCommand();                     sqlCmd.CommandText = strSql;                     sqlCmd.Connection = sqlConnection;                     SqlDataReader sqlDataReader = sqlCmd.ExecuteReader();                     i++;               &
copyright © 萬盛學電腦網 all rights reserved