Форматирование сводной таблицы

Внешний вид сводной таблицы

Как создать сводную таблицу объясняет, как создать простую сводную таблицу. В этой статье описано, как настроить внешний вид сводной таблицы, устанавливая различные свойства:

  • Опции формата сводной таблицы
  • Опции формата полей сводной таблицы
  • Опции формата данных поля

Как установить параметры форматирования сводной таблицы

Класс PivotTable контролирует общую сводную таблицу и может быть отформатирован различными способами.

Как установить тип автоформата

Microsoft Excel предлагает несколько различных предустановленных форматов отчетов. Aspose.Cells for Python via .NET также поддерживает эти варианты форматирования. Чтобы получить к ним доступ:

  1. Установите PivotTable.is_auto_format в true.
  2. Назначьте опцию форматирования из перечисления PivotTableAutoFormatType.
from aspose.cells import Workbook
from aspose.cells.pivot import PivotTableAutoFormatType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
pivotindex = 0
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Accessing the PivotTable
pivotTable = worksheet.pivot_tables[pivotindex]
# Setting the PivotTable report is automatically formatted
pivotTable.is_auto_format = True
# Setting the PivotTable atuoformat type.
pivotTable.auto_format_type = PivotTableAutoFormatType.REPORT5
# Saving the Excel file
workbook.save(dataDir + "output.xls")

Как устанавливать параметры форматирования

Приведенный ниже пример кода показывает, как отформатировать сводную таблицу для отображения общих итогов для строк и столбцов, а также как установить порядок полей отчета. Он также показывает, как установить пользовательскую строку для пустых значений.

from aspose.cells import PrintOrderType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
# Get the first worksheet
worksheet = workbook.worksheets[0]
pivotindex = 0
# Accessing the PivotTable
pivotTable = worksheet.pivot_tables[pivotindex]
# Setting the PivotTable report shows grand totals for rows.
pivotTable.row_grand = True
# Setting the PivotTable report shows grand totals for columns.
pivotTable.column_grand = True
# Setting the PivotTable report displays a custom string in cells that contain null values.
pivotTable.display_null_string = True
pivotTable.null_string = "null"
# Setting the PivotTable report's layout
pivotTable.page_field_order = PrintOrderType.DOWN_THEN_OVER
# Saving the Excel file
workbook.save(dataDir + "output.xls")

Форматирование внешнего вида вручную

Чтобы вручную форматировать отчет сводной таблицы, вместо использования предустановленных форматов отчетов, используйте методы PivotTable.format_all(style) и PivotTable.format(row, column, style). Создайте объект стиля для желаемого форматирования, например:

from aspose.cells import BackgroundType, Workbook
from aspose.cells.pivot import PivotTableStyleType
from aspose.pydrawing import Color
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
# Get the first worksheet
worksheet = workbook.worksheets[0]
pivot = workbook.worksheets[0].pivot_tables[0]
pivot.pivot_table_style_type = PivotTableStyleType.PIVOT_TABLE_STYLE_DARK1
style = workbook.create_style()
style.font.name = "Arial Black"
style.foreground_color = Color.yellow
style.pattern = BackgroundType.SOLID
pivot.format_all(style)
# Saving the Excel file
workbook.save(dataDir + "output.xls")

Как установить параметры форматирования поля сводной таблицы

Класс PivotField представляет собой поле в сводной таблице и может быть отформатировано несколькими способами. Приведенный ниже образец кода показывает, как:

  • Получить строковые поля.
  • Настроить итоги.
  • Настроить автосортировку.
  • Настроить автоотображение.

Как установить формат полей строк/столбцов/страниц

from aspose.cells import Workbook
from aspose.cells.pivot import PivotFieldSubtotalType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
# Get the first worksheet
worksheet = workbook.worksheets[0]
pivotindex = 0
# Accessing the PivotTable
pivotTable = worksheet.pivot_tables[pivotindex]
# Setting the PivotTable report shows grand totals for rows.
pivotTable.row_grand = True
# Accessing the row fields.
pivotFields = pivotTable.row_fields
# Accessing the first row field in the row fields.
pivotField = pivotFields[0]
# Setting Subtotals.
pivotField.set_subtotals(PivotFieldSubtotalType.SUM, True)
pivotField.set_subtotals(PivotFieldSubtotalType.COUNT, True)
# Setting autosort options.
# Setting the field auto sort.
pivotField.is_auto_sort = True
# Setting the field auto sort ascend.
pivotField.is_ascend_sort = True
# Setting the field auto sort using the field itself.
pivotField.auto_sort_field = -5
# Setting autoShow options.
# Setting the field auto show.
pivotField.is_auto_show = True
# Setting the field auto show ascend.
pivotField.is_ascend_show = False
# Setting the auto show using field(data field).
pivotField.auto_show_field = 0
# Saving the Excel file
workbook.save(dataDir + "output.xls")

Как установить формат полей данных

Приведенный ниже образец кода показывает, как установить формат отображения и числовой формат для полей данных.

from aspose.cells import Workbook
from aspose.cells.pivot import PivotFieldDataDisplayFormat, PivotItemPosition
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
# Get the first worksheet
worksheet = workbook.worksheets[0]
pivotindex = 0
# Accessing the PivotTable
pivotTable = worksheet.pivot_tables[pivotindex]
# Accessing the data fields.
pivotFields = pivotTable.data_fields
# Accessing the first data field in the data fields.
pivotField = pivotFields[0]
# Setting data display format
pivotField.data_display_format = PivotFieldDataDisplayFormat.PERCENTAGE_OF
# Setting the base field.
pivotField.base_field_index = 1
# Setting the base item.
pivotField.base_item_position = PivotItemPosition.NEXT
# Setting number format
pivotField.number = 10
# Saving the Excel file
workbook.save(dataDir + "output.xls")

Как очистить поля сводной таблицы

У класса PivotFieldCollection есть метод с именем clear(), который позволяет очистить поля сводной таблицы. Используйте его, когда вам нужно очистить все поля сводной таблицы в областях, например страница, столбец, строка или данные. Приведенный ниже образец кода показывает, как очистить все поля сводной таблицы в области данных.

from aspose.cells import Workbook
from aspose.cells.pivot import PivotFieldType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Load a template file
workbook = Workbook(dataDir + "Book1.xls")
# Get the first worksheet
sheet = workbook.worksheets[0]
# Get the pivot tables in the sheet
pivotTables = sheet.pivot_tables
# Get the first PivotTable
pivotTable = pivotTables[0]
# Clear all the data fields
pivotTable.data_fields.clear()
# Add new data field
pivotTable.add_field_to_area(PivotFieldType.DATA, "Betrag Netto FW")
# Set the refresh data flag on
pivotTable.refresh_data_flag = False
# Refresh and calculate the pivot table data
pivotTable.refresh_data()
pivotTable.calculate_data()
# Saving the Excel file
workbook.save(dataDir + "output.xls")