在項目開發過程中,經常會出現将EXCEL中的數據,導入到數據庫表中的需求!這樣的功能非常常見,而且比較實用!
可以滿足批量的數據上傳的功能需求,但有的情況下,需要面對一些小衆的數據處理要求,例如業務部門偶爾需要将EXCEL中的數據,導入到系統中,并且根據這部分數據,進行一些定制化的處理!
這種情況下,為這些不經常使用的功能,開發程序功能,非常的不劃算!而且EXCEL模闆的随意化,也不可能一一打造上傳功能,所以如果能夠使用SQL直接處理這些EXCEL文件,無疑是非常劃算的選擇!
既可以從容應對需求,又可以劃水、摸魚!這樣的操作不香嗎?接下來以SQLSERVER為例,看看如何使用SQL直接讀取EXCEL中的數據!
操作前需要注意一些事項,那就是WPS版本的目前沒有嘗試過,大概率是不可用的!畢竟EXCEL屬于微軟系全家桶産品系列,肯定兼容性要更好一些 !
首先數據庫默認的該部分權限是關閉的,涉及到系統的安全設置,在進行導入前,我們需要将系統配置存儲過程中對應的選項設置打開!設置為可用狀态,默認為0,為不可用狀态!
需要将這個狀态标識符,從0修改成1,那麼即可完成第一步的操作!
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
接下來我們弄一個EXCEL用于測試,草草的填充數據之後,放到C盤目錄即可!
準備工作已經就緒,接下來我們直接使用SQL讀取指定目錄下的EXCEL文件即可了!
SELECT * FROM
OPENROWSET
( 'MICROSOFT.JET.OLEDB.4.0',
'Excel 8.0;IMEX=1;HDR=YES;DATABASE=C:/Demo.xls',
[sheet1$]
)
這裡的MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=C:/Demo.xls參數是連接字符串的配置,包含了EXCEL的驅動版本,讀取規則設置,以及文件的路徑與名字,後面的sheet1為EXCEL中頁簽的名字!
這樣數據就輕而易舉的從EXCEL文件中讀取出來的,然後的操作,就進入到小夥伴們擅長的領域了!可以開啟收割模式了!
讀取結束後,需要将安全模式重新關閉,畢竟數據庫乃重中之地,需要嚴苛地進行安全性防範!
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
在項目開發領域,問題的解決方案,從來都不是唯一的選擇!這就是軟件開發的魅力所在!如何根據場景,進行方案的最優質選擇,這才是作為項目開發人員,需要關注的重點所在!
喜歡的小夥伴可以關注我,一起交流學習!我是IT鳥叔,一位喜歡寫程序、釣魚、喝茶、玩遊戲的中年大叔!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!