首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 與 Excel 雙向資料快速複製技巧

     編輯:關於SqlServer

在開發、測試或資料遷移場景,常需在 SSMS 查詢結果與 Excel 之間快速互轉資料。無需匯入匯出精靈,善用 SSMS 內建的「複製含標題」與「編輯模式貼上」即可秒級完成。

SQL Server → Excel(查詢結果匯出)

  1. 在 SSMS 新增查詢視窗,執行 SELECT * FROM TableName 或任意 SELECT 陳述式。
  2. 結果格網中點選滑鼠右鍵 → 複製(或 複製含標題 以保留欄位名)。
  3. 切換至 Excel,Ctrl+V 貼上,資料即對齊欄位完整呈現。

Excel → SQL Server(資料匯入資料表)

  1. Excel 中選取欲匯入資料區域(含標題列),Ctrl+C 複製。
  2. SSMS 物件總管中右鍵目標資料表 → 編輯前 200 資料列(或「選取前 1000 資料列」再切換至編輯模式)。
  3. 在結果格網最下方的新資料列(星號列)左側列選擇器按右鍵 → 貼上。
  4. 注意:Excel 欄位順序、資料型別必須與資料表完全對應;若資料表有 IDENTITY 自增欄位,請勿複製該欄,讓資料庫自動產生。

常見坑點與解法

問題原因解決方式
貼上後資料錯位Excel 欄序與資料表不一致調整 Excel 欄位順序或在 SELECT 中指定欄位順序
自增欄位報錯/重複複製包含 IDENTITY 欄Excel 複製範圍排除自增欄,或暫時 SET IDENTITY_INSERT ON
資料型別轉換失敗字串寫入數值/日期欄Excel 先設定儲存格格式,或用 CAST/CONVERT 預處理
大量資料貼上緩慢/逾時SSMS 編輯模式非大量載入優化超過 1 萬列建議改用 BCP、BULK INSERT 或 SSIS

進階替代方案

  • BCP 工具:bcp DB.dbo.Table OUT file.csv -c -t, -T 命令列高效匯出。
  • OPENROWSET:SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\data.xlsx','SELECT * FROM [Sheet1$]') 直接查詢 Excel。
  • SSIS 封裝:排程、錯誤處理、資料轉換完整支援,適合生產環境定期同步。

針對臨時、少量(<5,000 列)、結構單純的資料互轉,SSMS 複製貼上法最快且零設定;超過規模請改用專業 ETL 工具。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved