Excel導入MS SQL SERVER 操作

關于Excel導入到sql操作的相關問題總結:

一、大批量數據導入

方法1、從Excel大批量數據導入時我們可以使用sql里面有一個batch copy的功能

方法2、在sql中建一個table type結構,在前端將excel讀到datatable中,把整個datatable作為存儲過程參數傳到后臺數據庫。

舉例:

c#:

public void Import(DataTable dt){SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@DataTable",SqlDbType.Structured)};parms[0].Value = dt;SQLHelper.ExecuteNonQueryStoredProcedure(ConnString, "ImportExcel", parms);}

?

SQL:

--創建table type

CREATE TYPE [dbo].[DataTable_TYPE] AS TABLE( [NO] [varchar](20) NULL,[Dept] [varchar](20) NULL,[EmployeeNO] [decimal](18,2) NULL,[EmployeeName] [nvarchar](50) NULL,[JoinDate] [datetime] NULL,[TotalScore] [decimal](18, 2) NULL,[JobQty] [int] NULL,[JobI] [decimal](18, 2) NULL,[JobJ] [decimal](18, 2) NULL,[JobK] [decimal](18, 2) NULL,[JobL] [decimal](18, 2) NULL,[JobM] [decimal](18, 2) NULL,[JobN] [decimal](18, 2) NULL,[JobO] [decimal](18, 2) NULL )

--導入數據存儲過程
create proc ImportExcel
@DataTable DataTable_TYPE readonly
as
begin
  insert into XXtable
  select ......
  from @DataTable
end

?注意:在導入excel數據時,很多時候將excel讀到datatable的時候,excel里的數值列會變成科學計數法,這時請將對應的表或table type的列的類型設為decimal即可。

也有說在數據庫select的時候直接用cast(cast(abc as float) as decimal(xxx,xx)), 但這好像會有一個問題就是四舍五入的問題,比如 10056390 科學計數法為?1.00564e+007 轉換后會變成 10056400

?

轉載于:https://www.cnblogs.com/Alenliu/p/4226115.html

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

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

相關文章

蘋果mac閃退_自從Mac有了WPS,從此和雙系統說再見!

薛崗13,712本文共計2266個字,預計閱讀時長需要6分鐘。大部分使用Macbook的用戶都有一個痛點,就是編輯好的office文件,在朋友或同事的windows電腦上展示效果與自己的會有差異。除此外,卡頓、閃退、數據丟失等也是Windows版office在…

初學者計算機_初學者極客:如何在計算機上重新安裝Windows

初學者計算機Reinstalling Windows is one of the easiest ways to fix software problems on your computer, whether it’s running slow or infected by viruses. You should also reinstall Windows before you get rid of an old PC. 重新安裝Windows是修復計算機上軟件問…

win7 32位 安裝opencv-python后,運行時提示 from .cv2 import *: DLL load failed: 找不到指定的模塊 的解決辦法...

安裝opencv后,運行一個測試程序提示"from .cv2 import *: DLL load failed: 找不到指定的模塊"。于是百度一下解決辦法,結果試了N多方法后也沒能解決這個問題。 最后不得不耐心的下載了dependency walker來查看opencv到底是缺少了哪個dll文件。…

goahead處理json_GoAhead Web Server遠程代碼執行漏洞分析(附PoC)

*本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔。本文是關于GoAhead web server遠程代碼執行漏洞(CVE-2017-17562)的分析,該漏洞源于在初始化CGI腳本環境時使…

項目中的模塊剝離成項目_使用MCEBuddy 2從電視錄制中剝離廣告

項目中的模塊剝離成項目One of the great things about time-shifting your television viewing is that you are able to watch the shows you love at a time that suits you. Just because you have an appointment on Wednesday evening there’s no need to miss out on y…

有上下界限制可行流

無源匯有上下界限制可行流(循環流) 即每條邊的流量限制為[L,R],判斷有沒有滿足整個網絡的可行流。 看看以前學的網絡流,實際上它的流量限制為[0,C],現在無非多了一個下限的限制。 網絡流的一個重要性質:除了…

.gitignore文件將已經納入版本管理的文件刪除

git rm -r --cached . git add . git commit -m update .gitignore git push -u origin master 先將本地緩存刪除,再提交,.gitignore文件只針對那些沒有被staged的文件有效 參考博客:https://www.cnblogs.com/kevingrace/p/5690241.html 轉載…

gmail收件箱標簽設置_通過在Gmail中啟用實驗室功能來啟動收件箱

gmail收件箱標簽設置We recently looked at how you can make it easier to manage multiple inboxes in Gmail using the Multiple Inboxes Lab feature. This is a non-standard feature and it’s far from being the only one available to you. In fact there are numerou…

linux rmp命令安裝包在哪里_rpm命令_Linux rpm 命令用法詳解:RPM軟件包的管理工具...

rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由于它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級&#xf…

【題解】洛谷P1066 [NOIP2006TG] 2^k進制數(復雜高精+組合推導)

洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺難的一道題 也很復雜 滿足題目要求的種數是兩類組合數之和 r的最多位數m為 w/k(當w mod k0 時)w/k1(當 w mod k1 時)First: 位數為2~m的種數 即從2k-1中…

cmd命令不識別exp_Cmder-超量級的Cmd

Windows命令行工具cmd缺點窗口size不能便捷縮放復制文本,不能直接用鼠標拷貝,還需要多一道菜單操作;而且,還只能塊狀拷貝,而不是按行字符,極其不便不支持多Tab頁,多窗口管理不便cmd界面丑陋&…

sizeof string

char a[] "hello"; string s "hello"; cout<<sizeof(a)<<endl; cout<<sizeof(s)<<endl; cout<<sizeof(s.c_str())<<endl;輸出為 6 32 4最后一個c_str返回的是char*,所有指針的長度都為4。sizeof(s)為什么為32&#…

iTOP-4412開發板實現3路ADC數模轉換驅動例程

學習下 linux 數模程序驅動的編寫&#xff0c;本節我們實現的功能是實現三路ADC 數模轉換。驅動程序驅動程序的名字&#xff1a;“itop4412_adc.c”。要想把這個驅動注冊到內核,先把這個驅動程序放到內核的“driver/char”目錄下面&#xff0c;如下圖所示&#xff1a; Makefile…

β射線與哪些物質可產生較高的韌致輻射_輻射無所不在,香蕉土豆里都有?我們還能愉快生活嗎?...

作為一枚受過系統科學教育&#xff0c;耳聰目明的當代年輕人&#xff0c;你是不是隔三差五被長輩親友群里各種“XX有放射性&#xff0c;趕緊遠離&#xff01;”的科學謠言搞得哭笑不得&#xff1f;又或者&#xff0c;稍一不注意&#xff0c;長輩親友就買回了各種號稱黑科技滿滿…

requests保存圖片

1.創建07_save_jpg.py文件 import requests#發送請求respone requests.get("https://www.baidu.com/img/bd_logo1.png?wheresuper")#保存with open("a.png","wb")as f: f.write(respone.content)2.運行代碼 轉載于:https://www.cnblogs.com…

在Linux上運行Windows軟件的4種以上方法

Linux has come a long way, but you may still need to run Windows applications occasionally – especially Windows-only PC games. Luckily, there are quite a few ways to run Windows applications on Linux. Linux已經走了很長一段路&#xff0c;但是您可能仍然偶爾需…

Spring-IOC XML 配置多個相同 ID 的 bean 加載分析

我們現在仍以 xml 中配置 bean 的方式來 使用 Spring &#xff0c;不考慮注解和掃包 配置相同id 的bean 定義一個 bean 類 TransactionManager /*** author maple 2018.09.10 下午10:27*/ public class TransactionManager {private static int counter 0;private String bean…

confd_confd + Nacos | 無代碼侵入的配置變更管理

為什么要支持confd&#xff0c;老的應用配置管理模式是啟動時讀取配置文件&#xff0c;然后重新讀取配置文件需要應用重啟。一般的配置管理系統都是代碼侵入性的&#xff0c;應用接入配置管理系統都需要使用對應的SDK來查詢和監聽數據的變更。對于一些已經成熟的系統來說&#…

如何在Windows 8中更改登錄屏幕的顏色

Nearly every component of Windows 8 can be customized to suit your needs, some settings however are buried deep into the registry. Windows 8的幾乎每個組件都可以自定義以滿足您的需求&#xff0c;但是某些設置卻深埋在注冊表中。 如何在Windows 8中更改登錄屏幕的顏…

我看的書籍

UNIX Network Programming, Volume 1, Second Edition, by W.Richard Stevens. Cocoa Programming for Mac OS X, Third Edition, by Aron Hillegass. Beginning AppleScript, by Stephen G. Kochan. 轉載于:https://www.cnblogs.com/IvanYang/archive/2010/11/11/1874610.html…