PivotField类

PivotField类

表示数据透视表中的字段。

PivotField 类型公开了以下成员:

特性

属性 描述
pivot_items 获取数据透视字段的数据透视项
range 获取数据透视字段的分组范围
is_calculated_field 指示指定的数据透视表字段是否为计算字段。
base_index 表示基础 PivotFields 中的 PivotField 索引。
position 表示 PivotFields 中的 PivotField 索引。
name 表示 PivotField 名称。
display_name 表示 PivotField 显示名称。
is_auto_subtotals 指示指定字段是否显示自动小计。默认为真。
drag_to_column 指示指定字段是否可以拖到列位置。
默认值是true。
drag_to_hide 指示指定字段是否可以拖动到隐藏位置。
默认值是true。
drag_to_row 指示指定字段是否可以拖动到行位置。
默认值是true。
drag_to_page 指示指定字段是否可以拖动到页面位置。
默认值是true。
drag_to_data 指示指定字段是否可以拖动到数据位置。
默认值是true。
is_multiple_item_selection_allowed 指示该字段是否可以有多个项目
在页面字段中选择
默认值为假。
is_repeat_item_labels 指示该字段是否可以重复项目标签
默认值为假。
is_include_new_items_in_filter 指示该字段是否可以包含手动过滤器中的新项目
默认值为假。
is_insert_page_breaks_between_items 指示该字段是否可以在项目之间插入分页符
在每个项目后插入分页符
默认值为假。
show_all_items 指示是否显示数据透视表中的所有项目,
即使它们不包含摘要数据。
显示没有数据的项目
默认值为假。
non_auto_sort_default 指示将应用于此数据透视字段的排序操作是自动排序操作还是简单数据排序。
is_auto_sort 指示指定的数据透视表字段是否自动排序。
is_ascend_sort 指示指定的数据透视表字段是否按升序自动排序。
auto_sort_field 表示自动排序字段索引。
-1 表示 PivotField 本身,其他表示数据字段的位置。
is_auto_show 表示指定的数据透视表字段是否自动显示,只对excel 2003有效。
is_ascend_show 指示指定的数据透视表字段是否按升序自动显示。
auto_show_count 表示顶部或底部项目的数量
自动显示在指定的数据透视表字段中。
auto_show_field 表示车展字段索引。 -1 表示 PivotField 本身。
它应该是数据字段的索引。
function 表示用于汇总数据透视表数据字段的函数。
data_display_format 表示如何显示数据字段中包含的值。
base_field_index 表示自定义计算的基础字段。
base_item_position 表示自定义计算的基本字段中的项目。
仅对数据字段有效。
因为PivotItemPosition.Custom只读,如果需要设置PivotItemPosition.Custom,
请设置 PivotField.BaseItemIndex 属性。
base_item_index 表示自定义计算的基本字段中的项目。
仅对数据字段有效。
current_page_item 表示为页面字段显示的当前页面项目(仅对页面字段有效)。
number 表示数字和日期的内置显示格式。
insert_blank_row 指示是否在每个项目后插入空行。
show_subtotal_at_top 当 ShowInOutlineForm 为真时,则在项目列表的顶部而不是底部显示小计
show_in_outline_form 指示是否在数据透视表视图上以大纲形式布局此字段
number_format 表示数字和日期的自定义显示格式。
items 获取所有基础物品;
original_items 获得原始基础物品;
item_count 获取此数据透视字段的基本项计数。
show_compact 指示是否显示数据透视表视图中同一列中下一个字段的标签

方法

方法 描述
hide_item(index, is_hidden) 设置是否隐藏数据字段中的特定 PivotItem。
hide_item(item_value, is_hidden) 设置是否隐藏数据字段中的特定 PivotItem。
get_pivot_filter_by_type(type) 按类型获取数据透视字段的数据透视过滤器
get_pivot_filters() 获取数据透视字段的数据透视过滤器
init_pivot_items() 初始化数据透视字段的数据透视项
get_calculated_field_formula() 获取指定计算字段的公式字符串。
set_subtotals(subtotal_type, shown) 设置指定字段是否显示小计。
get_subtotals(subtotal_type) 获取指定字段是否显示小计。
is_hidden_item(index) 指示特定 PivotItem 是否隐藏。
is_hidden_item_detail(index) 指示特定 PivotItem 是否为隐藏详细信息。
hide_item_detail(index, is_hidden_detail) 设置数据透视字段中的特定 PivotItem 是否为隐藏详细信息。
hide_detail(is_hidden_detail) 设置枢轴字段中的 PivotItems 是否隐藏详细信息。即折叠/展开此字段。
add_calculated_item(name, formula) 将计算项添加到数据透视字段。

例子

from aspose.cells import Workbook
from aspose.cells.pivot import PivotFieldType, PivotTableStyleType

book = Workbook()
sheet = book.worksheets[0]
cells = sheet.cells
cells.get(0, 0).value = "fruit"
cells.get(1, 0).value = "grape"
cells.get(2, 0).value = "blueberry"
cells.get(3, 0).value = "kiwi"
cells.get(4, 0).value = "cherry"
cells.get(5, 0).value = "grape"
cells.get(6, 0).value = "blueberry"
cells.get(7, 0).value = "kiwi"
cells.get(8, 0).value = "cherry"
cells.get(0, 1).value = "year"
cells.get(1, 1).value = 2020
cells.get(2, 1).value = 2020
cells.get(3, 1).value = 2020
cells.get(4, 1).value = 2020
cells.get(5, 1).value = 2021
cells.get(6, 1).value = 2021
cells.get(7, 1).value = 2021
cells.get(8, 1).value = 2021
cells.get(0, 2).value = "amount"
cells.get(1, 2).value = 50
cells.get(2, 2).value = 60
cells.get(3, 2).value = 70
cells.get(4, 2).value = 80
cells.get(5, 2).value = 90
cells.get(6, 2).value = 100
cells.get(7, 2).value = 110
cells.get(8, 2).value = 120
pivots = sheet.pivot_tables
pivotIndex = pivots.add("=Sheet1!A1:C9", "A12", "TestPivotTable")
pivot = pivots[pivotIndex]
pivot.add_field_to_area(PivotFieldType.ROW, "fruit")
pivot.add_field_to_area(PivotFieldType.COLUMN, "year")
pivot.add_field_to_area(PivotFieldType.DATA, "amount")
pivot.pivot_table_style_type = PivotTableStyleType.PIVOT_TABLE_STYLE_MEDIUM10
# Change PivotField's attributes
rowField = pivot.row_fields[0]
rowField.display_name = "custom display name"
pivot.refresh_data()
pivot.calculate_data()
# do your business
book.save("out.xlsx")

也可以看看