Formattazione della tabella pivot

Aspetto della tabella pivot

Come creare una tabella pivot spiega come creare una semplice tabella pivot. Questo articolo descrive come personalizzare l’aspetto di una tabella pivot impostando diverse proprietà:

  • Opzioni di formato tabella pivot
  • Opzioni di formato dei campi pivot
  • Opzioni di formato del campo dati

Come impostare le opzioni di formato tabella pivot

La classe PivotTable controlla complessivamente la tabella pivot e può essere formattata in vari modi.

Come impostare il tipo di autoformato

Microsoft Excel offre diverse impostazioni predefinite per i report. Anche Aspose.Cells per Python via .NET supporta queste opzioni di formattazione. Per accedervi:

  1. Imposta PivotTable.is_auto_format su vero.
  2. Assegna un’opzione di formattazione dall’enumerazione 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")

Come impostare le opzioni di formattazione

Il codice di esempio qui sotto mostra come formattare la tabella pivot per mostrare i totali generali per righe e colonne, e come impostare l’ordine dei campi del report. Mostra inoltre come impostare una stringa personalizzata per i valori nulli.

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")

Formattazione Aspetto e Sensazione Manualmente

Per formattare manualmente l’aspetto del report della tabella pivot, anziché utilizzare formati di report predefiniti, utilizzare i metodi PivotTable.format_all(style) e PivotTable.format(row, column, style). Creare un oggetto stile per la formattazione desiderata, ad esempio:

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")

Come impostare le opzioni di formato campo pivot

La classe PivotField rappresenta un campo in una tabella pivot e può essere formattata in vari modi. Il codice di esempio qui sotto mostra come:

  • Accedere ai campi di riga.
  • Impostare i subtotali.
  • Impostazione dell’ordinamento automatico.
  • Impostazione dell’autovisualizzazione.

Come impostare il formato dei campi riga/colonna/pagina

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")

Come impostare il formato dei campi dati

Il campione di codice sottostante mostra come impostare i formati di visualizzazione e il formato numerico per i campi dati.

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")

Come eliminare i campi di un Pivot

Il PivotFieldCollection ha un metodo chiamato clear() che ti consente di eliminare i campi di un Pivot. Usalo quando vuoi eliminare tutti i campi di un Pivot nelle aree, ad esempio, pagina, colonna, riga o dati. Il campione di codice sottostante mostra come eliminare tutti i campi di un Pivot in un’area dati.

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")