共用方式為


WorksheetBase.PivotTableWizard 方法

建立 Microsoft.Office.Interop.Excel.PivotTable 物件。

命名空間:  Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel.v4.0.Utilities (在 Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 中)

語法

'宣告
Public Function PivotTableWizard ( _
    sourceType As Object, _
    sourceData As Object, _
    tableDestination As Object, _
    tableName As Object, _
    rowGrand As Object, _
    columnGrand As Object, _
    saveData As Object, _
    hasAutoFormat As Object, _
    autoPage As Object, _
    reserved As Object, _
    backgroundQuery As Object, _
    optimizeCache As Object, _
    pageFieldOrder As Object, _
    pageFieldWrapCount As Object, _
    readData As Object, _
    connection As Object _
) As PivotTable
public PivotTable PivotTableWizard(
    Object sourceType,
    Object sourceData,
    Object tableDestination,
    Object tableName,
    Object rowGrand,
    Object columnGrand,
    Object saveData,
    Object hasAutoFormat,
    Object autoPage,
    Object reserved,
    Object backgroundQuery,
    Object optimizeCache,
    Object pageFieldOrder,
    Object pageFieldWrapCount,
    Object readData,
    Object connection
)

參數

  • sourceData
    型別:System.Object
    新報表的資料。可以是 Range 物件、範圍陣列或表示另一份報表名稱的文字常數。如果是外部資料庫,SourceData 會是一個包含 SQL 查詢字串的字串陣列,其中每一個元素的長度上限為 255 個字元。您應使用 Connection 引數來指定 ODBC 連接字串。為了與舊版的 Excel 相容,SourceData 可以是兩個元素的陣列。第一個元素是連接字串,用來指定資料的 ODBC 來源。第二個元素是 SQL 查詢字串,用來取得資料。如果指定 SourceData,則必須同時指定 SourceType。如果現用儲存格在 SourceData 範圍內,則必須指定 TableDestination。
  • tableDestination
    型別:System.Object
    Range 物件,指定報表應放在工作表中的位置。如果省略這個引數,則報表會放在現用儲存格中。
  • rowGrand
    型別:System.Object
    true 表示會顯示報表中資料列的總計。
  • columnGrand
    型別:System.Object
    true 表示會顯示報表中資料行的總計。
  • saveData
    型別:System.Object
    true 表示會將資料與報表一起儲存,false 則表示只儲存報表定義。
  • hasAutoFormat
    型別:System.Object
    true 表示 Microsoft Office Excel 在報表重新整理或有欄位移動時,會自動設定報表的格式。
  • autoPage
    型別:System.Object
    只有當 SourceType 為 xlConsolidation 時才有效。 true 表示讓 Excel 建立合併的分頁欄位。如果 AutoPage 為 false,則必須建立一個或多個分頁欄位。
  • backgroundQuery
    型別:System.Object
    true 表示 Excel 會 (在幕後) 以非同步方式執行報表查詢。預設值是 false。
  • optimizeCache
    型別:System.Object
    true 表示在建構樞紐分析表快取的同時予以最佳化。預設值是 false。
  • pageFieldWrapCount
    型別:System.Object
    在樞紐分析表報告中,每個資料行或資料列的分頁欄位數。預設值是 0 (零)。
  • readData
    型別:System.Object
    true 表示會建立樞紐分析表快取,納入外部資料庫的所有記錄,這個快取有可能很大。如果 ReadData 為 false,您可以在實際讀取資料前,將某些欄位設定為伺服器分頁欄位。
  • connection
    型別:System.Object
    字串,其中包含可以允許 Excel 連至 ODBC 資料來源的 ODBC 設定。連接字串的格式為「ODBC;<連接字串>」。此引數會覆寫 PivotCache 物件 Connection 屬性的任何先前設定。

傳回值

型別:Microsoft.Office.Interop.Excel.PivotTable
Microsoft.Office.Interop.Excel.PivotTable 物件。

備註

此方法不會顯示樞紐分析表精靈。OLE DB 資料來源不可使用此方法。使用 Add 方法加入樞紐分析表快取,然後再根據快取建立樞紐分析表報表。

選擇性參數

如需選擇性參數的詳細資訊,請參閱Office 方案中的選擇性參數

範例

下列程式碼範例會使用 PivotTableWizard 方法,根據目前工作表上儲存格 A1 至 C4 範圍的內容建立樞紐分析表報表。

這是示範文件層級自訂的範例。

Private Sub CreatePivotTable()
    Me.Range("A1").Value2 = "Date"
    Me.Range("A2").Value2 = "March 1"
    Me.Range("A3").Value2 = "March 8"
    Me.Range("A4").Value2 = "March 15"

    Me.Range("B1").Value2 = "Customer"
    Me.Range("B2").Value2 = "Smith"
    Me.Range("B3").Value2 = "Jones"
    Me.Range("B4").Value2 = "James"

    Me.Range("C1").Value2 = "Sales"
    Me.Range("C2").Value2 = "23"
    Me.Range("C3").Value2 = "17"
    Me.Range("C4").Value2 = "39"

    Dim table1 As Excel.PivotTable = _
        Me.PivotTableWizard(Excel.XlPivotTableSourceType.xlDatabase, _
            Me.Range("A1", "C4"), TableName:="PivotTable1", RowGrand:=False, _
            ColumnGrand:=False, SaveData:=True, HasAutoFormat:=False, _
            PageFieldOrder:=Excel.XlOrder.xlDownThenOver)
End Sub
private void CreatePivotTable()
{  
    this.Range["A1"].Value2 = "Date";
    this.Range["A2"].Value2 = "March 1";
    this.Range["A3"].Value2 = "March 8";
    this.Range["A4"].Value2 = "March 15";

    this.Range["B1"].Value2 = "Customer";
    this.Range["B2"].Value2 = "Smith";
    this.Range["B3"].Value2 = "Jones";
    this.Range["B4"].Value2 = "James";

    this.Range["C1"].Value2 = "Sales";
    this.Range["C2"].Value2 = "23";
    this.Range["C3"].Value2 = "17";
    this.Range["C4"].Value2 = "39";

    Excel.PivotTable table1 = this.PivotTableWizard(
        Excel.XlPivotTableSourceType.xlDatabase, this.Range["A1", "C4"],
        "PivotTable1", false, false, true, false, false, false, Excel.XlOrder.xlDownThenOver);
}

.NET Framework 安全性

請參閱

參考

WorksheetBase 類別

Microsoft.Office.Tools.Excel 命名空間