Workbook.PivotTableWizard Method
Assembly: Microsoft.Office.Tools.Excel (in microsoft.office.tools.excel.dll)
public virtual void PivotTableWizard ( [OptionalAttribute] Object SourceType, [OptionalAttribute] Object SourceData, [OptionalAttribute] Object TableDestination, [OptionalAttribute] Object TableName, [OptionalAttribute] Object RowGrand, [OptionalAttribute] Object ColumnGrand, [OptionalAttribute] Object SaveData, [OptionalAttribute] Object HasAutoFormat, [OptionalAttribute] Object AutoPage, [OptionalAttribute] Object Reserved, [OptionalAttribute] Object BackgroundQuery, [OptionalAttribute] Object OptimizeCache, [OptionalAttribute] Object PageFieldOrder, [OptionalAttribute] Object PageFieldWrapCount, [OptionalAttribute] Object ReadData, [OptionalAttribute] Object Connection )
Parameters
- SourceType
An XlPivotTableSourceType value. The source of the report data.
- SourceData
The data for the new report. Can be a Range object, an array of ranges, or a text constant that represents the name of another report. For an external database, SourceData is an array of strings containing the SQL query string, where each element is up to 255 characters in length. You should use the Connection argument to specify the ODBC connection string. For compatibility with earlier versions of Excel, SourceData can be a two-element array. The first element is the connection string specifying the ODBC source for the data. The second element is the SQL query string used to get the data. If you specify SourceData, you must also specify SourceType. If the active cell is inside the SourceData range, you must specify TableDestination as well.
- TableDestination
A Range object specifying where the report should be placed on the worksheet. If this argument is omitted, the report is placed at the active cell.
- TableName
The name of the new report.
- RowGrand
true to show grand totals for rows in the report.
- ColumnGrand
true to show grand totals for columns in the report.
- SaveData
true to save data with the report; false to save only the report definition.
- HasAutoFormat
true to have Microsoft Office Excel automatically format the report when it is refreshed or when fields are moved.
- AutoPage
Valid only if SourceType is xlConsolidation. true to have Excel create a page field for the consolidation. If AutoPage is false, you must create the page field or fields.
- Reserved
Not used by Excel.
- BackgroundQuery
true to have Excel perform queries for the report asynchronously (in the background). The default value is false.
- OptimizeCache
true to optimize the PivotTable cache when it is constructed. The default value is false.
- PageFieldOrder
The order in which page fields are added to the PivotTable report’s layout. Can be one of the following XlOrder constants: xlDownThenOver or xlOverThenDown. The default value is xlDownThenOver.
- PageFieldWrapCount
The number of page fields in each column or row in the PivotTable report. The default value is 0 (zero).
- ReadData
true to create a PivotTable cache that contains all records from the external database; this cache can be very large. If ReadData is false, you can set some of the fields as server-based page fields before the data is actually read.
- Connection
A string that contains ODBC settings that allow Excel to connect to an ODBC data source. The connection string has the form "ODBC;<connection string>". This argument overrides any previous setting for the PivotCache object’s Connection property.
This method does not display the PivotTable Wizard. This method is not available for OLE DB data sources. Use the Add method to add a PivotTable cache, and then create a PivotTable report based on the cache.
Optional Parameters
For information on optional parameters, see Understanding Optional Parameters in COM Interop.
The following code example uses the PivotTableWizard method to create a PivotTable report in Sheet2 based on the range of cells from A1 to C4 in Sheet1.
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); }