本文档介绍数据透视表功能,该功能允许您使用数据透视表对工作表中的原始数据执行复杂的分析。
数据透视表表示用于浏览、分析和聚合工作表中大量数据的汇总表。它有助于将数据分解为类别和子类别,并使用预定义列表中最合适的汇总函数自动计算小计和总计。
工作表中的所有数据透视表都存储在 PivotTableCollection 对象中,您可以使用 Worksheet.PivotTables 属性访问该对象。PivotTableCollection 接口提供了在代码中使用数据透视表的基本方法。使用 PivotTableCollection.Add 方法基于源工作表中的单元格区域或使用现有数据透视表 (PivotCache) 的数据缓存创建数据透视表。有关如何插入数据透视表的示例,请参阅如何:创建数据透视表一文。
重要
目前,您只能将工作表数据用作数据透视表的数据源。不支持外部数据源(如 ODC 文件、OLAP 多维数据集、关系数据库、XML 文件等)。
单个数据透视表由数据透视表对象表示,并且可以在数据透视表集合中按其名称进行访问。您可以分别使用 PivotTable.ChangeDataSource 和 PivotTable.MoveTo 方法更改数据透视表的源数据或将其移动到工作表中的新位置。
在工作表中插入和定位数据透视表后,应通过向报表添加必要的字段(源范围的列)来用数据填充数据。所有字段都存储在可从 PivotTable.Fields 属性访问的 PivotFieldCollection 中。若要向数据透视表添加字段,请在集合中按其名称访问此字段(默认情况下,使用相应列的标签作为字段名称),并将其移动到所需的数据透视表区域:
随后,可以将所需字段移动到数据透视表的另一个区域以更改报表布局,也可以使用为要更改其位置的字段调用的 MoveDown、MoveUp、MoveToBeginning 或 MoveToEnd 方法对特定区域中的字段重新排序。若要从数据透视表中删除字段,请使用包含此字段的集合的 Remove 或 RemoveAt 方法。
除了源数据中的字段外,数据透视表还可能包含计算字段,其值是根据自定义公式生成的。若要向数据透视表添加计算字段,请使用 PivotTable.CalculatedFields 集合的 PivotCalculatedFieldCollection.Add 方法。
每个非计算字段都由项目组成,这些项目是字段中包含的唯一数据条目。所有字段项都存储在 PivotItemCollection 集合中,可通过 PivotField.Items 属性访问。您可以对字段中的项目进行排序 (PivotField.SortType、PivotField.SortItems)、筛选它们 (PivotTable.Filters) 或对它们进行分组以创建新的数据子集 (PivotField.GroupItems)。
数据透视字段还可以包含一个或多个计算项。若要向数据透视表字段添加计算项,请使用 PivotField.CalculatedItems 集合的 PivotCalculatedItemCollection.Add 方法。
创建数据透视表并用数据填充数据后,可以修改其设置以提高报表的可读性和可理解性。您可以调整报表布局、将内置样式或自定义样式应用于数据透视表、筛选字段项以仅显示重要值等。为此,请使用下表中列出的数据透视表对象的属性。
属性 | 描述 |
PivotTable.Layout |
提供对数据透视表布局设置的访问,使您能够以紧凑、大纲或表格形式显示报表,显示或隐藏小计和总计,在每组项目后插入一个空白行等。 |
PivotTable.Style |
允许您设置要应用于数据透视表的预定义或自定义样式。 |
PivotTable.BandedColumns PivotTable.BandedRows |
允许您将带状列/行格式应用于数据透视表。 |
PivotTable.ShowColumnHeaders PivotTable.ShowRowHeaders |
允许您设置数据透视表中的列标题和行标题的格式。 |
PivotTable.View |
提供对数据透视表显示选项的访问。 |
PivotTable.Filters |
允许您指定筛选条件以显示数据透视表中的特定值。 |
PivotTable.Behavior |
允许您对不同的数据透视表操作应用限制。 |