在做項目實施時,經常需要給使用者提供一個excel模板,讓使用者根據自己的實際情況在excel中按要求錄入一個基礎資料(比如部門人員資料、線上考試的試題庫、裝置資訊等),這樣做的原因一個是因為使用者一般對excel比較熟悉;另一個原因是使用excel的話客戶可以直接從其它資料來源匯入,而不是從頭開始錄入。
當使用者將處理好的試算表交給我們後,一般實施人員會利用自己熟悉的工具將excel匯入到系統資料表中,我以前一直用工具匯入,但今天一同事告訴我可以直接用sql server的查詢分析器完成這個功能,這個以前還真是沒有試過,所以嘗試了一下,發現確實挺好的,不需要工具,不需要配置,只是單純的一個sql語句就可以了。下面讓我們來看看怎麼使用sql陳述式完成將excel匯入到sql server中。第一步:將製作好的excel放在本機,注意xls檔案名稱要是英文的,另外xls的第一行應該是欄位名。第二步:開啟查詢分析器,輸入以下語句:-- 開啟Ad Hoc Distributed Queriesexec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure insert into RT_PARA (xlbh,msid,ywgd,dhz)--資料庫表名,欄位名 select xlbh,msid,ywgd,dhz--excel中的欄位名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=D:\yewei.xls',Sheet1$ )-- 請注意xls的物理位置要寫對-- 關閉Ad Hoc Distributed Queriesexec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure第三步:執行語句,完成匯入操作。怎麼樣,很簡單吧?