2012-03-06

SSIS:存取 Excel 的公式中之「名稱(Name)」、工作表(Worksheet)、具名範圍(Named Range)

在 Excel 上:

您可以使用「名稱(Name)」,讓公式更容易了解及維護。
您可以為儲存格範圍、函數、常數或資料表定義名稱。

一旦採取在活頁簿中使用名稱的做法以後,就可以輕鬆更新、稽核及管理這些名稱。
可以使用「公式(Formulas)」頁籤的「名稱管理員(Name Manager)」來管理與設計。


在 SSIS 的「Excel 來源」或「Excel 目的地」資料項目:

Excel 活頁簿中資料的來源可以是工作表 (必須附加 $ 符號,例如 Sheet1$) 或已「命名的範圍(Named range)」 (例如 MyRange)。

在 SQL 陳述式中,工作表的名稱必須加以分隔 (例如 [Sheet1$]),以避免 $ 符號造成的語法錯誤。

「查詢產生器」會自動加入這些分隔符號。

當您指定工作表或範圍時,驅動程式會讀取連續的資料格區塊,從工作表或範圍左上角的第一個非空白資料格開始。

因此,來源資料的資料列不可以空白,或標題或標頭資料列與資料列之間不可以有空白資料列。

在 Excel 中,工作表或範圍相當於資料表或檢視。

「Excel 來源」及「Excel 目的地」編輯器中的可用資料表清單,僅會顯示現有工作表 (以附加到工作表名稱的 $ 符號識別,例如 Sheet1$) 及具名範圍(Named range) (以沒有 $ 符號的方式識別,例如 MyRange)。


綜合前述

可以先在 Excel 上,利用「公式(Formulas)」頁籤的「名稱管理員(Name Manager)」來管理與設計資料的區域。

之後,在 SSIS 封裝上的「Excel 來源」或「Excel 目的地」上,就可以使用這些「名稱」來存取指定的資料區塊。



示範環境:
1. Excel 2010。
2. SSIS 2008。

以下是使用 Excel 上的「公式(Formulas)」頁籤的「名稱管理員(Name Manager)」來管理與設計資料之區域。

-- 01_設定好的名稱管理員_視窗



之後,在 SSIS 封裝上的「Excel 來源」或「Excel 目的地」上,就可以使用這些「名稱」來存取指定的資料區塊。

-- 02_Region_選擇指定工作表,點選「預覽」



-- 03_Shippers_選擇指定工作表,點選「預覽」



-- 04_選取整個「工作表」






參考資料:

定義及使用公式中的名稱
http://office.microsoft.com/zh-tw/excel-help/HA010147120.aspx

Excel 來源
http://msdn.microsoft.com/zh-tw/library/ms141683.aspx

Excel 目的地
http://msdn.microsoft.com/zh-tw/library/ms137643.aspx


SSIS:認識 Excel 公式的「名稱(Name)」、工作表(Worksheet)、具名範圍(Named Range) -- 圖文版本
http://sharedderrickref.blogspot.com/2012/03/ssis-excel-nameworksheetnamed-range.html

沒有留言:

張貼留言