Форматирование сводной таблицы
Внешний вид сводной таблицы
Как создать сводную таблицу объясняет, как создать простую сводную таблицу. В этой статье описано, как настроить внешний вид сводной таблицы, устанавливая различные свойства:
- Опции формата сводной таблицы
- Опции формата полей сводной таблицы
- Опции формата данных поля
Как установить параметры форматирования сводной таблицы
Класс PivotTable контролирует общую сводную таблицу и может быть отформатирован различными способами.
Как установить тип автоформата
Microsoft Excel предлагает несколько различных предустановленных форматов отчетов. Aspose.Cells for Python via .NET также поддерживает эти варианты форматирования. Чтобы получить к ним доступ:
- Установите PivotTable.is_auto_format в true.
- Назначьте опцию форматирования из перечисления 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") |