编程时,可以套用Excel内置的数据透视表布局方式和外观样式。[大谦Excel,dqexcel点com]
设置数据透视表的布局方式
数据透视表的布局有压缩形式、大纲形式和表格形式等3种,默认时以压缩形式布局,即图7-2中数据透视表采用的布局。使用PivotTable对象的RowAxisLayout方法设置数据透视表的布局样式。
【Excel VBA】
示例文件的存放路径为Samples\ch19\Excel VBA\布局方式.xlsm。CreatePVT过程生成数据透视表,将“产品”设置为列字段,将“类别”和“产地”设置为行字段,将“金额”设置为值字段。
Sub CreatePVT()
'省略。创建数据透视表。
'…
'设置字段
With pvt
.PivotFields("产品").Orientation = xlColumnField '列字段
.PivotFields("产品").Position = 1
.PivotFields("类别").Orientation = xlRowField '行字段
.PivotFields("类别").Position = 1
.PivotFields("产地").Orientation = xlRowField '行字段
.PivotFields("产地").Position = 2
.PivotFields("金额").Orientation = xlDataField '值字段
End With
End Sub
运行CreatePVT过程生成数据透视表,默认时采用压缩形式的布局。
过程Layout获取数据透视表,将布局修改为大纲形式。
Sub Layout()
'省略,获取数据透视表pvt
'…
'大纲布局
pvt.RowAxisLayout xlOutlineRow
End Sub
运行Layout过程,生成大纲形式布局的数据透视表如图7-8所示。
图7-8 大纲形式布局的数据透视表
【Python】
编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\布局方式.py。
#前面代码省略,请参见Python文件
#......
#大纲布局
pvt.RowAxisLayout(xw.constants.LayoutRowType.xlOutlineRow)
运行脚本,生成大纲形式布局的数据透视表如图7-8所示。
设置数据透视表的样式
样式是Excel内置的外观格式。使用PivotTable对象的TableStyle2属性设置数据透视表的样式。
【Excel VBA】
示例文件的存放路径为Samples\ch19\Excel VBA\设置样式.xlsm。运行CreatePVT过程,生成数据透视表。
SetStyle过程将数据透视表的样式设置为常数"PivotStyleLight18"定义的样式。
Sub SetStyle()
'省略,获取数据透视表pvt
'…
pvt.TableStyle2 = "PivotStyleLight18"
End Sub
运行过程,生成数据透视表如图7-9所示。
图7-9 设置数据透视表的样式
【Python】
编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\设置样式.py。
#前面代码省略,请参见Python文件
#......
#设置样式
pvt.TableStyle2 = "PivotStyleLight18"
运行脚本,生成数据透视表如图7-9所示。