HOW TO:從 Excel 試算表產生資料
為了讓您的「資料庫單元測試」(Database Unit Test) 更有意義,您可以使用適合資料庫「結構描述」(Schema) 但與實際執行資料無關的測試資料,來填入測試資料庫。 藉由使用 Visual Studio Premium中的資料繫結產生器,您可以使用 Microsoft Excel 活頁簿資料填入資料表的資料行。 如需如何產生測試資料的詳細資訊,請參閱使用資料產生器產生資料庫的測試資料。
在這個程序中,您將會執行下列動作:
在「資料庫專案」(Database Project) 中,指派資料繫結產生器給資料表的資料行。
使用 OLE DB 提供者,建立與活頁簿的連接。
指定要將哪些活頁簿資料填入資料表的資料行。
必要條件
本程序假設您有開啟的資料庫專案,並且已為其建立「資料產生計劃」(Data Generation Plan)。 這些步驟也假設您具有 Excel 活頁簿,好從中產生資料。 如需如何建立資料產生計劃的詳細資訊,請參閱 HOW TO:建立資料產生計劃。
若要指派資料繫結產生器給資料行
如果資料產生計劃尚未開啟的話,在 [方案總管] 中按兩下計劃。
資料產生計劃隨即出現。
按一下您要產生資料的資料表。
在 [資料產生計劃] 視窗的 [資料行詳細資料] 窗格中,找到您要從活頁簿填入資料之資料表資料行的資料列。 在該資料列中,按一下 [產生器] 資料行的儲存格,按一下下拉箭號,然後按一下 [資料繫結產生器]。
接下來,您要指定連接活頁簿的資訊。
若要使用 OLE DB 提供者建立活頁簿連接
在 [屬性] 視窗中,找到 [連接資訊] 屬性,按一下下拉箭號,然後按一下 [加入新的連接]。
[選擇資料來源] 對話方塊隨即出現。
在 [資料來源] 清單中,按一下 [<其他>]。
在 [資料提供者] 清單中,按一下 [.NET Framework Data Provider for OLE DB],然後按一下 [繼續]。
[連接屬性] 對話方塊隨即出現。
在 [OLE DB 提供者] 清單中,按一下 [Microsoft Jet 4.0 OLE DB 提供者],然後按一下 [進階]。
[進階屬性] 對話方塊隨即出現。
在 [擴充屬性] 屬性中,輸入 Excel 8.0 (如果使用的是 Microsoft Office 2003 系統) 或 Excel 12.0 (如果使用的是 2007 Microsoft Office 系統),然後按一下 [確定]。
注意事項 當您嘗試連接至使用 Microsoft Excel 2010 所建立的試算表時,如果顯示錯誤,可以將此試算表儲存成 [Excel 97-2003 活頁簿]。
在 [伺服器名稱或檔名] 方塊中,輸入活頁簿的路徑和名稱 (例如 C:\Temp\TestData.xls)。
按一下 [測試連接]。
如果連接成功,訊息方塊即隨出現並顯示訊息:「測試連接成功」。 如果有錯誤指出無法連接,請確認活頁簿不在使用中。
按一下 [確定]。
注意事項 當您嘗試從 [屬性] 視窗加入連接時,如果顯示錯誤,可以改用 [伺服器總管] 來加入連接。 如需詳細資訊,請參閱 HOW TO:從伺服器總管連接至資料庫。
在最後的步驟中,您會透過使用新連接選取活頁簿資料,並檢視出現在 [資料產生預覽] 視窗中的結果。
若要選取活頁簿資料和驗證結果
在 [屬性] 視窗中,對於您要填入資料行的 [選取查詢] 屬性,輸入 SELECT 陳述式。 例如,若要從名為 AnnualSales 的活頁簿擷取所有資料,請輸入下列:
SELECT * FROM [AnnualSales$]
注意事項 您必須將活頁簿名稱括在方括弧中並指定尾端的 $。
在 [資料產生計劃] 視窗的 [資料行詳細資料] 窗格中,找到您要從活頁簿填入資料之資料表資料行的資料列。 在該資料列中,按一下 [產生器輸出] 資料行的儲存格,然後按一下下拉箭號。 接著,按一下包含您要使用資料的活頁簿名稱。
如果您沒有在步驟 1 中指定查詢,或者您的查詢指定了找不到的工作表名稱,[產生器輸出] 資料行就只會包含 [<沒有可強迫的輸出>]。
開啟 [資料] 功能表,指向 [資料產生器],然後按一下 [預覽資料產生]。
[資料產生預覽] 視窗隨即出現。 您選擇要從試算表填入的資料行,就會顯示活頁簿的值。