共用方式為


逐步解說:文件層級專案中的複雜資料繫結

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • Excel 2007

  • Excel 2003

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

本逐步解說示範使用文件層級專案進行複雜資料繫結的基本概念。您可以將 Microsoft Office Excel 工作表中的多個儲存格,繫結至 Northwind SQL Server 資料庫中的欄位。

這個逐步解說將說明下列工作:

  • 將資料來源加入至活頁簿專案。

  • 將資料繫結控制項加入至工作表。

  • 將資料變更儲存回資料庫。

注意事項:

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

必要條件

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

  • Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。

  • Microsoft Office Excel 2003 或 Microsoft Office Excel 2007。

  • 存取具有 Northwind SQL Server 範例資料庫的伺服器

  • 從 SQL Server 資料庫讀取及寫入該資料庫的使用權限

建立新專案

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

若要建立新的專案

  • 建立名為 My Complex Data Binding 的 Excel 活頁簿專案。選取精靈中的 [建立新文件]。

    如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

    Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 My Complex Data Binding 專案加入至 [方案總管]。

建立資料來源

請使用 [資料來源] 視窗,將具型別資料集加入您的專案。

若要建立資料來源

  1. 如果看不到 [資料來源] 視窗,請按一下 [資料] 功能表上的 [顯示資料來源]。

    注意事項:

    如果無法使用 [顯示資料來源],請在 Excel 活頁簿內按一下,然後再檢查一次。

  2. 按一下 [加入新資料來源],啟動 [資料來源組態精靈]。

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

  4. 選取與 Northwind 範例 SQL Server 資料庫的資料連接,或使用 [新增連接] 按鈕加入新的連接。

  5. 在選取或建立連接後,請按 [下一步]。

  6. 如果已經選取,請清除儲存連接的選項,然後按一下 [下一步]。

  7. 在 [資料庫物件] 視窗中,展開 [資料表] 節點。

  8. 選取 [Employees] 資料表旁的核取方塊。

  9. 按一下 [完成]。

精靈會將 [Employees] 資料表加入至 [資料來源] 視窗,也會將具型別資料集加入至 [方案總管] 中可以看得到的專案。

將控制項加入至工作表

工作表將在活頁簿開啟時顯示 [Employees] 資料表。使用者將能對資料進行變更,然後按一下按鈕,將變更儲存回資料庫。

若要自動繫結工作表與資料表,您可以從 [資料來源] 視窗將 ListObject 控制項加入至工作表。若要讓使用者能夠選擇儲存變更,請從 [工具箱] 加入 Button 控制項。

加入清單物件

  1. 確認已經在 Visual Studio 設計工具中開啟 My Complex Data Binding.xls 活頁簿,並顯示 Sheet1。

  2. 開啟 [資料來源] 視窗,然後選取 [Employees] 節點。

  3. 按一下顯示的下拉箭號。

  4. 選取下拉式清單中的 [ListObject]。

  5. 將 [Employees] 資料表拖曳至 [A6] 儲存格。

    [A6] 儲存格中會建立一個名為 EmployeesListObject 的 ListObject 控制項。同時,會將名為 EmployeesBindingSource 的 BindingSource、資料表配接器 (Adapter),以及 DataSet 執行個體加入至專案。控制項繫結至 BindingSource,繼而又繫結至 DataSet 執行個體。

若要加入按鈕

  • 從 [工具箱] 的 [通用控制項] 索引標籤,將 Button 控制項加入至工作表的 [A4] 儲存格。

下一個步驟是在工作表開啟時將文字加入至按鈕。

初始化控制項

將文字加入至 Startup 事件處理常式中的按鈕。

若要初始化控制項

  1. 在 [方案總管] 中,在 [Sheet1.vb] 或 [Sheet1.cs] 上按一下滑鼠右鍵,再按快速鍵功能表上的 [檢視程式碼]。

  2. 將下列程式碼加入至 Sheet1_Startup 方法,以設定 button 的文字。

    Me.Button1.Text = "Save"
    
    this.button1.Text = "Save";
    
  3. 如果是 C#,請加入 Click 事件的事件處理常式至 Sheet1_Startup 方法。

    this.button1.Click += new EventHandler(button1_Click);
    

現在,請加入程式碼,以處理按鈕的 Click 事件。

將變更儲存至資料庫

將對資料所做的任何變更明確存回資料庫之前,這些變更都只存在本機資料集中。

若要將變更儲存至資料庫

  • 為 button 的 Click 事件加入事件處理常式,然後加入下列程式碼,認可對資料集所做的所有變更儲存到資料庫中。

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Try
            Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees)
    
        Catch ex As System.Data.DataException
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            this.employeesTableAdapter.Update(this.northwindDataSet.Employees);
        }
        catch (System.Data.DataException ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

測試應用程式

現在您可以測試活頁簿,確認資料將如預期般顯示,而且您可以在清單物件中操作該資料。

若要測試資料繫結

  • 請按 F5。

    確認當活頁簿開啟時,清單物件中會填入來自 [Employees] 資料表的資料。

若要修改資料

  1. 按一下 [B7] 儲存格,此儲存格應該包含 [Davolio] 的名稱。

  2. 輸入 Anderson 的名稱,然後按 ENTER。

若要修改資料行行首

  1. 按一下包含資料行行首 [LastName] 的儲存格。

  2. 輸入 Last Name,在兩個字中間包含一個空格,然後按 ENTER。

若要儲存資料

  1. 在工作表上按一下 [儲存]。

  2. 結束 Excel。當系統提示您儲存所做的變更時,請按一下 [否]。

  3. 按 F5,再次執行專案。

    清單物件中便會填入來自 [Employees] 資料表的資料。

  4. 請注意,[B7] 儲存格中的名稱仍為 Anderson,也就是您所進行並儲存到資料庫的資料變更。資料行行首 [LastName] 則已變更回沒有空格的原始格式,因為資料行行首並未繫結至資料庫,而且您也沒有儲存對工作表所做的變更。

若要加入新資料列

  1. 在清單物件內選取儲存格。

    新資料列會出現在清單底部,而且新資料列的第一個儲存格中會出現星號 (*)。

  2. 在空白資料列中加入下列資訊。

    EmployeeID

    LastName

    FirstName

    Title

    10

    Ito

    Shu

    Sales Manager

若要刪除資料列

  • 以滑鼠右鍵按一下工作表最左邊的數字 [16] (第 16 列),然後按一下 [刪除]。

若要對清單中的資料列進行排序

  1. 在清單內選取儲存格。

    每個資料行行首中都會顯示箭號按鈕。

  2. 按一下 [Last Name] 資料行行首中的箭號按鈕。

  3. 按一下 [遞增排序]。

    會按照姓氏的字母順序排列資料列。

若要篩選資訊

  1. 在清單內選取儲存格。

  2. 按一下 [Title] 資料行行首中的箭號按鈕。

  3. 按一下 [Sales Representative]。

    清單中只會顯示 [Title] 資料行中具有 [Sales Representative] 的資料列。

  4. 再按一下 [Title] 資料行行首中的箭號按鈕。

  5. 按一下 [(全部)]。

    會移除篩選並顯示所有資料列。

後續步驟

這個逐步解說示範將資料庫中資料表繫結至清單物件的基本步驟。以下則是接下來的一些工作:

請參閱

工作

逐步解說:文件層級專案中的簡單資料繫結

概念

將資料繫結至控制項

其他資源

Office 方案的資料