共用方式為


HOW TO:從 Excel 試算表產生資料

為了讓您的「資料庫單元測試」(Database Unit Test) 更有意義,您可以使用適合資料庫「結構描述」(Schema) 但與實際執行資料無關的測試資料,來填入測試資料庫。 藉由使用 Visual Studio Premium中的資料繫結產生器,您可以使用 Microsoft Excel 活頁簿資料填入資料表的資料行。 如需如何產生測試資料的詳細資訊,請參閱使用資料產生器產生資料庫的測試資料

在這個程序中,您將會執行下列動作:

  • 在「資料庫專案」(Database Project) 中,指派資料繫結產生器給資料表的資料行。

  • 使用 OLE DB 提供者,建立與活頁簿的連接。

  • 指定要將哪些活頁簿資料填入資料表的資料行。

必要條件

本程序假設您有開啟的資料庫專案,並且已為其建立「資料產生計劃」(Data Generation Plan)。 這些步驟也假設您具有 Excel 活頁簿,好從中產生資料。 如需如何建立資料產生計劃的詳細資訊,請參閱 HOW TO:建立資料產生計劃

若要指派資料繫結產生器給資料行

  1. 如果資料產生計劃尚未開啟的話,在 [方案總管] 中按兩下計劃。

    資料產生計劃隨即出現。

  2. 按一下您要產生資料的資料表。

  3. 在 [資料產生計劃] 視窗的 [資料行詳細資料] 窗格中,找到您要從活頁簿填入資料之資料表資料行的資料列。 在該資料列中,按一下 [產生器] 資料行的儲存格,按一下下拉箭號,然後按一下 [資料繫結產生器]。

    接下來,您要指定連接活頁簿的資訊。

若要使用 OLE DB 提供者建立活頁簿連接

  1. 在 [屬性] 視窗中,找到 [連接資訊] 屬性,按一下下拉箭號,然後按一下 [加入新的連接]。

    [選擇資料來源] 對話方塊隨即出現。

  2. 在 [資料來源] 清單中,按一下 [<其他>]。

  3. 在 [資料提供者] 清單中,按一下 [.NET Framework Data Provider for OLE DB],然後按一下 [繼續]。

    [連接屬性] 對話方塊隨即出現。

  4. 在 [OLE DB 提供者] 清單中,按一下 [Microsoft Jet 4.0 OLE DB 提供者],然後按一下 [進階]。

    [進階屬性] 對話方塊隨即出現。

  5. 在 [擴充屬性] 屬性中,輸入 Excel 8.0 (如果使用的是 Microsoft Office 2003 系統) 或 Excel 12.0 (如果使用的是 2007 Microsoft Office 系統),然後按一下 [確定]。

    注意事項注意事項

    當您嘗試連接至使用 Microsoft Excel 2010 所建立的試算表時,如果顯示錯誤,可以將此試算表儲存成 [Excel 97-2003 活頁簿]。

  6. 在 [伺服器名稱或檔名] 方塊中,輸入活頁簿的路徑和名稱 (例如 C:\Temp\TestData.xls)。

  7. 按一下 [測試連接]。

    如果連接成功,訊息方塊即隨出現並顯示訊息:「測試連接成功」。 如果有錯誤指出無法連接,請確認活頁簿不在使用中。

  8. 按一下 [確定]。

    注意事項注意事項

    當您嘗試從 [屬性] 視窗加入連接時,如果顯示錯誤,可以改用 [伺服器總管] 來加入連接。 如需詳細資訊,請參閱 HOW TO:從伺服器總管連接至資料庫

    在最後的步驟中,您會透過使用新連接選取活頁簿資料,並檢視出現在 [資料產生預覽] 視窗中的結果。

若要選取活頁簿資料和驗證結果

  1. 在 [屬性] 視窗中,對於您要填入資料行的 [選取查詢] 屬性,輸入 SELECT 陳述式。 例如,若要從名為 AnnualSales 的活頁簿擷取所有資料,請輸入下列:

    SELECT * FROM [AnnualSales$]
    
    注意事項注意事項

    您必須將活頁簿名稱括在方括弧中並指定尾端的 $。

  2. 在 [資料產生計劃] 視窗的 [資料行詳細資料] 窗格中,找到您要從活頁簿填入資料之資料表資料行的資料列。 在該資料列中,按一下 [產生器輸出] 資料行的儲存格,然後按一下下拉箭號。 接著,按一下包含您要使用資料的活頁簿名稱。

    如果您沒有在步驟 1 中指定查詢,或者您的查詢指定了找不到的工作表名稱,[產生器輸出] 資料行就只會包含 [<沒有可強迫的輸出>]。

  3. 開啟 [資料] 功能表,指向 [資料產生器],然後按一下 [預覽資料產生]。

    [資料產生預覽] 視窗隨即出現。 您選擇要從試算表填入的資料行,就會顯示活頁簿的值。

請參閱

概念

使用資料產生器產生資料庫的測試資料

資料繫結產生器