﻿# 將 Excel 文件資料匯入到 SQL Server 資料表的兩種方法

上週公司內有位新進同仁因為專案需求，必須將客戶提供的 Excel 資料匯入到 SQL Server 資料庫裡，我就藉此進行機會教育，傳授 2 個我多年來固定使用的匯入方法，一種是「快速匯入法」，另一種是「傳統匯入法」，這兩種方法在從 Excel 匯入資料時都有其注意事項，因此使用者必須特別注意。最後，我還將這兩種方法錄製成教學影片，如此一來將能有效的快速理解匯入時的操作步驟。

**§ 快速匯入法**

匯入步驟說明：

1.  直接從 Excel 檔案複製內容 ( **Ctrl+C** )
2.  然後開啟 Management Studio 管理工具，連接資料庫後開啟**編輯**要匯入資料的資料表 (如下圖示)  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/8bb7204277707dbf6bdf-image_1979.png)
3.  選取最後一列 (如下圖示)，並使用 **Ctrl+V** 貼上 Excel 內容  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/abf3e1ae8983c58859e7-image_1980.png)
4.  若選取的欄位與從 Excel 中複製的欄位數不同，將會發生許多非預期的問題，這時建議點選 SQL 窗格，修改 T-SQL 之後再執行一次。最常見的修改，就是將 id 欄位移除，因為此欄位大多為 int 型態且為自動編號。 (詳見以下教學影片)  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c6238dad254a683c6c90-image_1981.png)

匯入注意事項：

-   當 Excel 儲存格中出現「斷行符號」，將可能發生匯入失敗或匯入錯誤資料的情況，因為這種匯入方法時，當 Management Studio 判斷到斷行符號，就會被視為該行資料已經匯入完畢，接著夏一欄繼續新增。

教學影片說明：

<object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/vsGgP4vzhbg?hl=en&amp;hd=1"><embed src="http://www.youtube.com/v/vsGgP4vzhbg?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></object>

如何將 Excel 檔案裡的資料快速匯入到 SQL Server 資料表中

**§ 傳統匯入法**

匯入步驟說明：

1.  開啟 Management Studio 管理工具並連接資料庫
2.  從「資料庫」節點，點選滑鼠右鍵，選擇 \[工作\] / \[匯入資料\]
3.  選擇資料來源 ( Microsoft Excel ) 與選取 Excel 檔案
4.  選擇目的地，這裡會自動選中資料庫，直接按下一步即可
5.  選取來源資料表和檢視，這裡操作比較複雜，建議看以下教學影片學習

匯入注意事項：

-   如果 Excel 儲存格中有**斷行符號**，也可以順利匯入 SQL Server
-   如果 Excel 工作表 (Worksheet) 中有**合併欄位**的情況，將會導致資料匯入失敗。

教學影片說明：

<object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/sKetGEIzJck?hl=en&amp;hd=1"><embed src="http://www.youtube.com/v/sKetGEIzJck?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></object>

如何將 Excel 檔案裡的資料快速匯入到 SQL Server 資料表 (進階版)

**相關連結**

-   [如何從 Excel 將資料匯入到 SQL Server 中](https://web.archive.org/web/20061117005303/http://support.microsoft.com:80/kb/321686)
-   [How to import data from Microsoft SQL Server into Microsoft Excel](https://web.archive.org/web/20091228081541/http://support.microsoft.com:80/kb/306125)
-   [HOW TO：使用 SQL Server 資料轉換服務將資料傳送到 Excel](https://web.archive.org/web/20150217043713/http://support.microsoft.com:80/kb/319951/EN-US)
-   [How To Transfer Data from ADO Data Source to Excel with ADO](https://web.archive.org/web/20090922055243/http://support.microsoft.com:80/kb/295646)
