程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> c#將Excel數據導入到數據庫的實現代碼

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

編輯:關於ASP.NET

     這篇文章主要介紹了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++;                     sqlDataReader.Close();                 }                 catch (Exception ex)                 {                     throw ex;                 }                 finally                 {                     sqlConnection.Close();                   }                 //if (opdb.ExcSQL(strSql))                 //    i++;             }             return i;         }     } }       運行結果:       24.jpg  
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved