將Excle數據導入到數據庫

假如Excel中的數據如下:

  數據庫建表如下:

  其中Id為自增字段:

?

代碼:

復制代碼
  1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Web;5 using System.Web.UI;6 using System.Web.UI.WebControls;7 using System.Data;8 using System.Data.OleDb;9 using System.Configuration;10 using System.Data.SqlClient;11 12 namespace InExcelOutExcel13 {14     public partial class ExcelToDB : System.Web.UI.Page15     {16         protected void Page_Load(object sender, EventArgs e)17         {18             FileSvr fileSvr = new FileSvr();19             System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:\\Users\\NewSpring\\Desktop\\Demo\\InExcelOutExcel\\InExcelOutExcel\\excel\\ExcelToDB.xlsx", "mapTable");20             fileSvr.InsetData(dt);21         }22     }23     class FileSvr24     {25         /// <summary>26         /// Excel數據導入Datable27         /// </summary>28         /// <param name="fileUrl"></param>29         /// <param name="table"></param>30         /// <returns></returns>31         public System.Data.DataTable GetExcelDatatable(string fileUrl, string table)32         {33             //office2007之前 僅支持.xls34             //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";35             //支持.xls和.xlsx,即包括office2010等版本的   HDR=Yes代表第一行是標題,不是數據;36             const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";37 38             System.Data.DataTable dt = null;39             //建立連接40             OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));41             try42             {43                 //打開連接44                 if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)45                 {46                     conn.Open();47                 }48 49 50                 System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);51 52                 //獲取Excel的第一個Sheet名稱53                 string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();54 55                 //查詢sheet中的數據56                 string strSql = "select * from [" + sheetName + "]";57                 OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);58                 DataSet ds = new DataSet();59                 da.Fill(ds, table);60                 dt = ds.Tables[0];61 62                 return dt;63             }64             catch (Exception exc)65             {66                 throw exc;67             }68             finally69             {70                 conn.Close();71                 conn.Dispose();72             }73 74         }75 76         /// <summary>77         /// 從System.Data.DataTable導入數據到數據庫78         /// </summary>79         /// <param name="dt"></param>80         /// <returns></returns>81         public int InsetData(System.Data.DataTable dt)82         {83             int i = 0;84             string lng = "";85             string lat = "";86             string offsetLNG = "";87             string offsetLAT = "";88 89             foreach (DataRow dr in dt.Rows)90             {91                 lng = dr["LNG"].ToString().Trim();92                 lat = dr["LAT"].ToString().Trim();93                 offsetLNG = dr["OFFSET_LNG"].ToString().Trim();94                 offsetLAT = dr["OFFSET_LAT"].ToString().Trim();95 96                 //sw = string.IsNullOrEmpty(sw) ? "null" : sw;97                 //kr = string.IsNullOrEmpty(kr) ? "null" : kr;98 99                 string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT);
100 
101                 string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();
102                 SqlConnection sqlConnection = new SqlConnection(strConnection);
103                 try
104                 {
105                     // SqlConnection sqlConnection = new SqlConnection(strConnection);
106                     sqlConnection.Open();
107                     SqlCommand sqlCmd = new SqlCommand();
108                     sqlCmd.CommandText = strSql;
109                     sqlCmd.Connection = sqlConnection;
110                     SqlDataReader sqlDataReader = sqlCmd.ExecuteReader();
111                     i++;
112                     sqlDataReader.Close();
113                 }
114                 catch (Exception ex)
115                 {
116                     throw ex;
117                 }
118                 finally
119                 {
120                     sqlConnection.Close();
121 
122                 }
123                 //if (opdb.ExcSQL(strSql))
124                 //    i++;
125             }
126             return i;
127         }
128     }
129 }



運行結果:

轉載于:https://www.cnblogs.com/62333494huhu/p/4576242.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273199.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273199.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273199.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

click vue 重復調用_VUE防止多次點擊,重復請求

VUE防止多次點擊&#xff0c;重復請求1.添加自定義文件 preventReClick.jsimport Vue from vueconst preventReClick Vue.directive(preventReClick, {inserted: function (el, binding) {el.addEventListener(click, () > {if (!el.disabled) {el.disabled truesetTimeou…

virbr0怎么關閉_CentOS 7中關閉刪除virbr0虛擬網卡

在CentOS 7的安裝過程中如果有選擇相關虛擬化的的服務安裝系統后&#xff0c;啟動網卡時會發現有一個以網橋連接的私網地址的virbr0網卡&#xff0c;這個是因為在虛擬化中有使用到libvirtd服務生成的&#xff0c;如果不需要可以關閉后去掉&#xff1a;[rootlocalhost ~]# virsh…

動態規劃(五) 最大連續子序列和(Maximum Continuous Subsequence Sum)

占位...轉載于:https://www.cnblogs.com/AloneAli/p/4580931.html

python中beautifulsoup是什么庫_BeautifulSoup庫詳解(個人整理)

BeautifulSoup4是爬蟲必學的技能。BeautifulSoup最主要的功能是從網頁抓取數據&#xff0c;Beautiful Soup自動將輸入文檔轉換為Unicode編碼&#xff0c;輸出文檔轉換為utf-8編碼。BeautifulSoup支持Python標準庫中的HTML解析器,還支持一些第三方的解析器&#xff0c;如果我們不…

iOS 設置系統音量和監聽系統音量變化

很簡單的調用 首先在工程引入MediaPlayer.framework #import <MediaPlayer/MediaPlayer.h> 1. 獲取系統音量 // 獲取系統音量 MPVolumeView *volumeView [[MPVolumeView alloc] init];UISlider *volumeViewSlider nil;for (UIView *view in [volumeView subviews]){if …

h5關于選擇器以及class的小加強

1、querySelector和querySelectorAll 這兩個方法類似于jquery的選擇器 document.querySelector(.box) document.querySelectorAll(.box)前者只能選擇一組中的第一個&#xff0c;后者選擇一組元素。 2、getElementsByClassName document.getElementsByClassName(box) 選擇的結…

1 睡眠喚醒_一勞永逸解決WIN10所有睡眠問題

1.初級階段&#xff0c;解決因硬件的喚醒事件powercfg -lastwake查看上次喚醒電腦的設備哪些硬件能喚醒電腦&#xff1f;powercfg /devicequery wake_armed列出現在可以喚醒電腦的所有硬件設備&#xff0c;可以看到現在鍵盤能喚醒powercfg /devicequery wake_programmable列出全…

[轉]Device Context 設備環境 設備上下文 理解

http://blog.csdn.net/p424671075/article/details/7235601轉載于:https://www.cnblogs.com/qrlozte/p/4582594.html

生成路徑 vs 設置_Simulink代碼生成之模型配置

歡迎關注我的微信公眾號【新能源動力電池與BMS】&#xff0c;頭條號&#xff1a;【阿Q在江湖】&#xff1b;所有文章資料會在公眾號首發。本文已同步錄制視頻講解&#xff1a;Simulink代碼生成之模型配置_視頻教程 - 知乎。PS&#xff1a;前段時間&#xff0c;傳出美國禁用一些…

常見電容器圖片_各種電容器圖片大集合

圖1是膽&#xff1b;圖2是燈具&#xff1b;圖3是mkph電容&#xff1b;圖4是met電容&#xff1b;圖5、圖10是pei電容&#xff1b;圖6是膽貼片電容&#xff1b;圖7是mpe電容&#xff1b;圖8是貼片電容&#xff1b;圖11是軸向電解電容器&#xff1b;圖12是mpp電容。圖1是ppn電容&a…

解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾

解析php混淆加密解密的手段&#xff0c;如 phpjm,phpdp神盾,php威盾 原文 解析php混淆加密解密的手段&#xff0c;如 phpjm,phpdp神盾,php威盾 php做為一門當下非常流行的web語言&#xff0c;常常看到有人求解密php文件&#xff0c;想當年的asp也是一樣。一些人不理解為什么要混…

bootstrap 合并菜單_Bootstrap與tab組合,切換菜單實例

Test$(function () {$(#myTab a:last).tab(show);//初始化顯示哪個tab$(#myTab a).click(function (e) {e.preventDefault();//阻止a鏈接的跳轉行為$(this).tab(show);//顯示當前選中的鏈接及關聯的content})})HomeProfileMessagesSettings服務器.home....profile...messages..…

WCF 宿主與通信模式(二)

宿主 每個WCF服務都必須托管在Windows進程中&#xff0c;該進程稱為宿主進程(host process) 單個宿主進程可以托管多個服務&#xff0c;相同的服務類型也可以托管在多個宿主進程中。 wcf中托管服務一般有一下四種&#xff1a; 寄宿方式 描述 Console寄宿 利于開發調試&#…

mysql端口被占用_MySQL重啟端口被占用處理

1,查看日志的ERROR2018-05-23T01:26:59.230382Z 0 [Warning] NO_AUTO_CREATE_USER sql mode was not set.2018-05-23T01:26:59.230409Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled2018-05-23T01:26:59.230…

poj 3660 傳遞閉包 **

題意&#xff1a;題目給出了m對的相對關系&#xff0c;求有多少個排名是確定的。 鏈接&#xff1a;點我 如果這個點到其他點的關系是確定的&#xff0c;那么這個點就是確定的&#xff0c;注意如果這個點到不了其他點&#xff0c;但其他點能到這個點&#xff0c;那么這個點和其他…

C# 網絡編程之webBrowser獲取網頁url和下載網頁中圖片

該文章主要是通過C#網絡編程的webBrowser獲取網頁中的url并簡單的嘗試下載網頁中的圖片,主要是為以后網絡開發的基礎學習.其中主要的通過應用程序結合網頁知識、正則表達式實現瀏覽、獲取url、下載圖片三個功能.而且很清晰的解析了每一步都是以前一步為基礎實現的. 一.界面設計…

mysql員工腳本_mySQL常用腳本匯總

mysql的常用腳本有哪些呢&#xff1f;我們來做個總結建表語句sql語句最后指定主鍵DROP TABLE IF EXISTS user_info1;CREATE TABLE user_info1 (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主鍵,name varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT 姓名,password varcha…

多線程 調用多線程的方法 Runtime與ProcessBuilder

一般我們使用Java運行其他類中的方法的時候&#xff0c;無論是靜態調用還是動態調用&#xff0c;都是在當前的進程中執行的。也就是只有一個Java虛擬機實例在運行。有時候需要通過Java代碼啟動多個Java子進程&#xff0c;這樣做會消耗些資源&#xff0c;但是程序變得更穩定。因…

mysql可連接_mysql開啟遠程可連接

1.打開cmd窗口&#xff0c;進入MySql安裝的bin目錄2.執行命令登錄數據庫,之后會出現一行要你輸入密碼的mysql -u root -p3.執行以下命令分配新用戶&#xff1a;grant all privileges on *.* to ‘用戶名‘‘IP地址‘ identified by ‘密碼‘;4.執行完上述命令后用下面的命令刷新…

ubuntu14.04 python2.7 安裝配置OpenCV3.0

環境&#xff1a;ubuntu14.04 python2.7 內容&#xff1a;安裝并配置OpenCV3.0 今天按照OpenCV官網上的步驟裝了OpenCV但是&#xff0c;裝好之后python提示“No module named cv2” 首先&#xff0c;安裝OpenCV的步驟&#xff1a; OpenCV官網的安裝步驟&#xff1a;http://doc…