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 时有效。如果让 Excel 创建一个用于合并的页字段,则为 true。如果 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;<connection string>”。此参数重写 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 命名空间