WorkbookBase.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 Sub 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 _
)
public void 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
)
参数
- sourceType
类型:System.Object
一个 XlPivotTableSourceType 值。报表数据的源。
- sourceData
类型:System.Object
新报表的数据。可以是 Range 对象、范围数组或表示其他报表的名称的文本常数。对于外部数据库,SourceData 是包含 SQL 查询字符串的字符串数组,其中每个元素的最大长度为 255 个字符。应使用 Connection 参数指定 ODBC 连接字符串。为了与较早版本的 Excel 兼容,SourceData 可以是二元素数组。第一个元素是指定数据的 ODBC 源的连接字符串。第二个元素是用于获取数据的 SQL 查询字符串。如果指定 SourceData,则还必须指定 SourceType。如果活动单元格在 SourceData 范围内,则还必须指定 TableDestination。
- tableDestination
类型:System.Object
一个 Range 对象,指定应在工作表上放置报表的位置。如果省略此参数,则报表将放置在活动单元格上。
- tableName
类型:System.Object
新报表的名称。
- 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,则必须创建一个或多个页字段。
- reserved
类型:System.Object
Excel 不使用。
- backgroundQuery
类型:System.Object
如果为 true,则 Excel 可异步执行(在后台)报表查询。默认值为 false。
- optimizeCache
类型:System.Object
如果为 true,则可在构造数据透视表时对其缓存进行优化。默认值为 false。
- pageFieldOrder
类型:System.Object
向数据透视表的布局添加页字段的顺序。可以是下列 XlOrder 常量之一:xlDownThenOver 或 xlOverThenDown。默认值为 xlDownThenOver。
- pageFieldWrapCount
类型:System.Object
数据透视表中每列或每行中的页字段数。默认值为 0(零)。
- readData
类型:System.Object
如果为 true,则可创建包含外部数据库所有记录的数据透视表缓存;此缓存可能很大。如果 ReadData 为 false,则可以在实际读取数据前,将某些字段设置为基于服务器的页字段。
- connection
类型:System.Object
一个字符串,包含使 Excel 连接到 ODBC 数据源的 ODBC 设置。该连接字符串的形式为“ODBC;<connection string>”。此参数重写 PivotCache 对象的 Connection 属性的所有以前的设置。
备注
此方法不显示数据透视表向导。 此方法不可用于 OLE DB 数据源。 使用 Add 方法可添加数据透视表缓存,然后基于该缓存创建数据透视表。
可选参数
有关可选参数的信息,请参见Office 解决方案中的可选参数。
示例
下面的代码示例使用 PivotTableWizard 方法,根据 Sheet1 中 A1 至 C4 单元格范围,在 Sheet2 中创建数据透视表。
此示例针对的是文档级自定义项。
Private Sub CreatePivotTable()
Globals.Sheet1.Range("A1").Value2 = "Date"
Globals.Sheet1.Range("A2").Value2 = "March 1"
Globals.Sheet1.Range("A3").Value2 = "March 8"
Globals.Sheet1.Range("A4").Value2 = "March 15"
Globals.Sheet1.Range("B1").Value2 = "Customer"
Globals.Sheet1.Range("B2").Value2 = "Smith"
Globals.Sheet1.Range("B3").Value2 = "Jones"
Globals.Sheet1.Range("B4").Value2 = "James"
Globals.Sheet1.Range("C1").Value2 = "Sales"
Globals.Sheet1.Range("C2").Value2 = "23"
Globals.Sheet1.Range("C3").Value2 = "17"
Globals.Sheet1.Range("C4").Value2 = "39"
Me.PivotTableWizard(Excel.XlPivotTableSourceType.xlDatabase, _
Globals.Sheet1.Range("A1", "C4"), _
Globals.Sheet2.Range("A1", System.Type.Missing), "PivotTable1", _
False, False, True, False, backgroundQuery:=False, _
optimizeCache:=False, pageFieldOrder:=Excel.XlOrder.xlDownThenOver)
End Sub
private void CreatePivotTable()
{
Globals.Sheet1.Range["A1", missing].Value2 = "Date";
Globals.Sheet1.Range["A2", missing].Value2 = "March 1";
Globals.Sheet1.Range["A3", missing].Value2 = "March 8";
Globals.Sheet1.Range["A4", missing].Value2 = "March 15";
Globals.Sheet1.Range["B1", missing].Value2 = "Customer";
Globals.Sheet1.Range["B2", missing].Value2 = "Smith";
Globals.Sheet1.Range["B3", missing].Value2 = "Jones";
Globals.Sheet1.Range["B4", missing].Value2 = "James";
Globals.Sheet1.Range["C1", missing].Value2 = "Sales";
Globals.Sheet1.Range["C2", missing].Value2 = "23";
Globals.Sheet1.Range["C3", missing].Value2 = "17";
Globals.Sheet1.Range["C4", missing].Value2 = "39";
this.PivotTableWizard(
Excel.XlPivotTableSourceType.xlDatabase,
Globals.Sheet1.Range["A1", "C4"],
Globals.Sheet2.Range["A1", missing], "PivotTable1",
false, false, true, false, missing, missing,
false, false, Excel.XlOrder.xlDownThenOver, missing,
missing, missing);
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。