HOW TO:使用 SQL Server 資料轉換服務將資料傳送到 Excel

文章翻譯 文章翻譯
文章編號: 319951 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

SQL Server 資料轉換服務 (DTS) 是功能強大的工具,可在 OLE DB 資料來源之間輕鬆傳送資料,並在進行中轉換該資料 (如果您選擇執行這項操作)。本文將告訴您,如何使用「DTS 匯入/匯出精靈」,將資料從 Microsoft SQL Server 或其他資料來源匯出到 Microsoft Excel 工作表。如果您要在「DTS 設計師」中設定您自己的轉換資料工作,這裡的許多考量也一樣適用。

需求

下面清單列出了建議使用的硬體、軟體、網路基礎架構以及所需的 Service Pack:
  • 安裝在相容 Microsoft Windows 作業系統上的 Microsoft SQL Server 2000 或 Microsoft SQL Server 7.0。
  • 由 MDAC 版本 2.1 或 2.5 或由其他產品安裝的 Microsoft Jet 4.0 及其相關檔案。
本文假設您至少熟悉下列主題:
  • SQL Server
  • 資料轉換服務
  • Excel 工作表

選取目的地檔案

  1. 啟動「DTS 匯入/匯出精靈」,然後在 [選擇資料來源] 索引標籤上選取資料來源。選取資料來源後,焦點會變更到 [選擇目的地] 索引標籤。
  2. [目的地] 清單中,按一下 [Microsoft Excel 97-2000] 做為目的地資料庫類型。Microsoft Excel 2002 (Microsoft Office XP) 也一樣使用這個類型。
  3. [檔案名稱] 方塊中,按一下省略符號以找出現有的 Excel 活頁簿檔案。在您完成精靈的同時,這個檔案在 Excel 中不能處於開啟狀態。如果您的電腦上已安裝 Excel,您不必離開精靈就可以在這個時候建立新的 Excel 檔案。如果要執行這項操作,請用滑鼠右鍵按一下 [選擇檔案] 文字,指向 [新增],然後按一下 [Microsoft Excel 工作表]

選取目的地資料表

  1. 將焦點移到 [選取來源資料表和檢視表] 索引標籤後,在 [來源] 欄位中,選取要匯出到 Excel 的一或多個資料表和檢視表。
  2. 根據預設,精靈會在 [目的地] 欄位中填入與來源資料表相同名稱的目的地資料表。

    注意:這會在目的地活頁簿中建立相同名稱的工作表和已命名的範圍,但是 DTS 多半會使用已命名的範圍。

    您也可以選取現有工作表或已命名的範圍 (後面跟著 $ 符號的名稱,例如 Sheet1$,就是工作表名稱)。
  3. [轉換] 欄位中,按一下省略符號以開啟另一個對話方塊,您可以在這裡按一下下列其中一個選項:
    • 建立目的地資料表

      在目的地資料表還不存在的情況下,這是唯一可用的選項。如果資料表已經存在,就無法使用這個選項,這時會有另一個用以卸除並重新建立資料表的選項。
    • 刪除和取代現有的目的地資料列

      如果您嘗試將這個選項跟 Excel 一起使用,將會失敗 (所以您不能使用這個選項)。
    • 附加新資料列到現有資料列
  4. 在精靈剩下來的步驟中,您可以儲存和執行 DTS 套件。如果經常要匯出新的或變更過的資料,請在結束精靈前儲存並選擇排定套件的時程。

疑難排解

選取 Excel 檔案

  • 在您完成 DTS 精靈的同時,請不要讓 Excel 活頁簿處於開啟狀態。

選取 Excel 資料表

  • 如果您選取 [卸除並重新建立目的資料表] 選項,則因為資料表還不存在,所以在第一次執行套件時,卸除命令會失敗,但匯出還是會成功。
  • 如果您選取 [建立目的地資料表],而且不使用 [卸除並重新建立] 選項,則因為資料表已經存在,所以後續執行時,建立命令會失敗,但匯出還是會成功。
  • 如果您對 Excel 執行 CREATE TABLE 陳述式 (例如精靈所產生的陳述式),將會建立相同名稱的工作表和已命名的範圍,但除非您做出其他指定,否則 DTS 會使用已命名的範圍。如果要在 Excel 中檢視這些已命名的範圍:在 [插入] 功能表上,按一下 [名稱],然後按一下 [定義]
  • 您無法在 [轉換] 對話方塊中刪除和取代現有的資料列,因為您無法透過 OLE DB 刪除 Excel 工作表資料列。
  • 如果您手動清空目的地工作表中匯出的資料,請重新匯出資料,使得新資料附加到空白資料列底下,因為驅動程式會查看已命名範圍的儲存定義,然後將它展開以存放新的資料列。如果刪除工作表中的每一列舊資料,就不會發生這種情形,因為刪除資料列會改變已命名範圍的儲存定義。但是,通常我們偏好使用 [卸除並重新建立] 選項來取代現有的資料。

?考

如需有關使用 Excel 做為資料庫時所遭遇問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
257819 如何從 Visual Basic 或 VBA 搭配使用 ADO 與 Excel 資料
如需有關搭配使用 Excel 與 DTS 時所遭遇問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
236605 PRB:DTS Wizard May Not Detect Excel Column Type for Mixed Data
281517 PRB:Transfer of Data from Jet 4.0LEDB Source Fails with Buffer Overflow Error
207446 BUG:Cannot Import Excel 97 Spreadsheet with 256 or More Columns

如需有關如何使用 SQL Server DTS 功能的詳細資訊,請參閱下列《SQL Server 線上叢書》文件:

<從 SQL Server 到 Excel 的複雜轉換範例>
<使用 DTS 匯入/匯出精靈建立 DTS 套件>
<DTS 驅動程式對不同資料類型的支援>

屬性

文章編號: 319951 - 上次校閱: 2005年10月4日 - 版次: 3.3
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbhowto kbhowtomaster KB319951
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com