逐步解說:將數據系結至 Excel 動作窗格上的控件

本逐步解說示範 Microsoft Office Excel 中動作窗格上控件的數據系結。 這些控制項會顯示 SQL Server 資料庫中資料表之間的主要/詳細資料關聯。

適用於: 本主題中的資訊適用於 Excel 的文件層級專案。 如需詳細資訊,請參閱 Office 應用程式 lication 和項目類型所提供的功能。

本逐步解說將說明下列工作:

  • 將控件新增至工作表。

  • 建立執行窗格控件。

  • 將數據系結的 Windows Forms 控件新增至執行窗格控件。

  • 顯示應用程式開啟時的 [動作] 窗格。

注意

在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 Visual Studio IDE 個人化

必要條件

您需要下列元件才能完成這個逐步解說:

  • 此版 Visual Studio 包含 Microsoft Office Developer Tools。 如需詳細資訊,請參閱 設定計算機來開發 Office 解決方案

  • Excel 2013 或 Excel 2010 。

  • 使用 Northwind SQL Server 範例數據庫存取伺服器。

  • 讀取和寫入 SQL Server 資料庫的許可權。

建立專案

第一步是建立 Excel 活頁簿專案。

建立新的專案

  1. 建立名稱 為 [我的 Excel 動作窗格] 的 Excel 活頁簿專案。 在精靈中,選取 [ 建立新檔]。 如需詳細資訊,請參閱 如何:在Visual Studio中建立 Office專案。

    Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 [我的 Excel 動作窗格] 專案新增方案總管

將新的數據源新增至專案

將新的數據源新增至專案

  1. 如果看不到 [數據源] 視窗,請在功能表欄上選擇 [檢視>其他 Windows>數據源] 來顯示它。

  2. 選擇 [ 加入新資料來源 ] 以啟動 [ 資料來源組態精靈]。

  3. 選取 [ 資料庫 ],然後按 [下一步]。

  4. 選取 Northwind 範例 SQL Server 資料庫的數據連線,或使用 [新增 連線 ion] 按鈕新增連線。

  5. 按一下 [下一步] 。

  6. 清除選取連線時儲存連線的選項,然後按 [下一步]

  7. 展開 [資料庫物件] 視窗中的 [數據表] 節點。

  8. 選取 [供應商] 資料表旁的複選框。

  9. 展開 [ 產品 ] 數據表,然後選取 [ProductName]、 [供貨商標識符]、 [QuantityPerUnit] 和 [ UnitPrice]。

  10. 按一下完成

    精靈會將 供應商 數據表和 Products 資料表新增至 [資料源] 視窗。 它也會將具型別數據集新增至專案中,方案總管 中可見。

將控件新增至工作表

接下來,將 NamedRange 控件和控件新增至第一個 ListObject 工作表。

若要新增 NamedRange 控制項和 ListObject 控制項

  1. 確認 Visual Studio 設計工具中已開啟 [我的 Excel 動作窗格.xlsx ] 活頁簿,並 Sheet1 顯示 。

  2. 在 [ 數據源] 視窗中,展開 [供貨商 ] 數據表。

  3. 按兩下 [公司名稱] 節點上的下拉式箭號,然後按兩下 [NamedRange]。

  4. 將 [公司名稱] 從 [數據源] 視窗拖曳至 中的Sheet1單元格 A2

    NamedRange建立名為 CompanyNameNamedRange 的控件,且 Text <CompanyName> 會出現在儲存格 A2 中。 同時,名為suppliersBindingSourceBindingSource 、數據表配接器,以及 DataSet 會新增至專案。 控件會系結至 BindingSource,接著會系結至 DataSet 實例。

  5. 在 [數據源] 視窗中,向下捲動至 [供貨商] 數據表底下的數據行。 清單底部是 Products 數據表;這是因為它是供應商數據表的子系。 選取此 Products 數據表,而不是與供應商數據表位於相同層級的數據表,然後按兩下拉式箭號。

  6. 按兩下拉式清單中的 ListObject,然後將 Products 資料表拖曳至 中的 Sheet1A6 單元格

    名為的ListObjectProductNameListObject控件會在單元格 A6 中建立。 同時, BindingSource 具名 productsBindingSource 和數據表配接器會新增至專案。 控件會系結至 BindingSource,接著會系結至 DataSet 實例。

  7. 僅針對 C#,選取元件匣上的 suppliersBindingSource,並將修飾詞屬性變更[屬性] 視窗中的 [內部]。

將控件新增至執行窗格

接下來,您需要具有下拉式方塊的動作窗格控件。

若要新增執行窗格控件

  1. 在 方案總管選取 [我的 Excel 動作窗格] 專案。

  2. 在 [專案] 功能表上,按一下 [加入新項目]

  3. 在 [ 新增專案 ] 對話框中,選取 [動作窗格控件],將它命名為 ActionsControl,然後按兩下 [ 新增]。

若要將數據系結的 Windows Forms 控件新增至執行窗格控件

  1. 從 [工具箱] 的 [通用控件] 索引標籤,將控件拖曳ComboBox至執行窗格控件。

  2. Size 屬性變更為 171,21

  3. 調整使用者控制元件的大小以符合下拉式方塊。

將執行窗格上的控件系結至數據

在本節中,您會將 的 ComboBox 數據源設定為與工作表上控件相同的數據源 NamedRange

設定控件的數據系結屬性

  1. 以滑鼠右鍵按下執行窗格控件,然後按兩下 [ 檢視程式代碼]。

  2. 將下列程式代碼新增至 Load 執行窗格控件的事件。

    private void ActionsControl_Load(object sender, EventArgs e)
    {
        this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
        this.comboBox1.DisplayMember = "CompanyName";
    }
    
  3. 在 C# 中,您必須建立 的 ActionsControl事件處理程式。 您可以將此程式代碼放在建構函式中 ActionsControl 。 如需建立事件處理程式的詳細資訊,請參閱 如何:在 Office 專案中建立事件處理程式。

    public ActionsControl()
    {
        InitializeComponent();
        this.Load += new EventHandler(ActionsControl_Load);
    }
    

顯示執行窗格

在您於運行時間新增 控件之前,看不到執行窗格。

顯示執行窗格

  1. 方案總管 中,以滑鼠右鍵按兩下 ThisWorkbook.vbThisWorkbook.cs,然後按兩下 [檢視程式代碼]。

  2. 在類別中 ThisWorkbook 建立使用者控件的新實例。

    ActionsControl actions = new ActionsControl();
    
  3. 在 的ThisWorkbook事件處理程式中Startup,將控件新增至動作窗格。

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.Controls.Add(actions);
    }
    

測試應用程式

現在,您可以測試您的檔,以確認當文件開啟時,動作窗格會開啟,而且控件具有主圖形/詳細數據關聯性。

測試文件

  1. F5 執行您的專案。

  2. 確認 [動作] 窗格可見。

  3. 在清單框中選取公司。 確認公司名稱列在控件中 NamedRange ,且產品詳細數據列在控件中 ListObject

  4. 選取各種公司,以適當地驗證公司名稱和產品詳細數據變更。

下一步

接著可以執行下列一些工作: