Formatera Pivot tabell

Pivottabellens utseende

Hur man skapar en pivottabell förklarar hur man skapar en enkel pivottabell. Den här artikeln beskriver hur man anpassar en pivottabells utseende genom att ställa in olika egenskaper:

  • Pivottabellformatalternativ
  • Alternativ för pivottabellfältformat
  • Alternativ för datafältformat

Inställning av pivottabellformatalternativ

Klassen PivotTable kontrollerar den övergripande pivottabellen och kan formateras på olika sätt.

Inställning av autoformat typ

Microsoft Excel erbjuder ett antal olika förinställda rapportformat. Aspose.Cells stöder också dessa formateringsalternativ. För att komma åt dem:

  1. Ställ in PivotTable.IsAutoFormat till true.
  2. Tilldela ett formateringsalternativ från uppräkningen 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.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
int pivotindex = 0;
// Get the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Accessing the PivotTable
PivotTable pivotTable = worksheet.PivotTables[pivotindex];
// Setting the PivotTable report is automatically formatted
pivotTable.IsAutoFormat = true;
// Setting the PivotTable atuoformat type.
pivotTable.AutoFormatType = Aspose.Cells.Pivot.PivotTableAutoFormatType.Report5;
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Inställning av formatalternativ

Kodprovet nedan visar hur man formaterar pivottabellen för att visa totaler för rader och kolumner, och hur man ställer in rapportens fältsortering. Det visar också hur man ställer in en anpassad sträng för nollvärden.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
// Get the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
int pivotindex = 0;
// Accessing the PivotTable
PivotTable pivotTable = worksheet.PivotTables[pivotindex];
// Setting the PivotTable report shows grand totals for rows.
pivotTable.RowGrand = true;
// Setting the PivotTable report shows grand totals for columns.
pivotTable.ColumnGrand = true;
// Setting the PivotTable report displays a custom string in cells that contain null values.
pivotTable.DisplayNullString = true;
pivotTable.NullString = "null";
// Setting the PivotTable report's layout
pivotTable.PageFieldOrder = PrintOrderType.DownThenOver;
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Manuell formatering av utseende

För att formatera hur pivottabellsrapporten ser ut manuellt, istället för att använda förinställda rapportformat, använd PivotTable.Format()- och PivotTable.FormatAll()-metoderna. Skapa en stilobjekt för den önskade formateringen, till exempel:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
// Get the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
var pivot = workbook.Worksheets[0].PivotTables[0];
pivot.PivotTableStyleType = PivotTableStyleType.PivotTableStyleDark1;
Style style = workbook.CreateStyle();
style.Font.Name = "Arial Black";
style.ForegroundColor = Color.Yellow;
style.Pattern = BackgroundType.Solid;
pivot.FormatAll(style);
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Inställning av pivottabellfältformatalternativ

Klassen PivotField representerar ett fält i en pivottabell och kan formateras på olika sätt. Kodprovet nedan visar hur man:

  • Tillgång till radfält.
  • Inställning av delsummer.
  • Inställning av autosortering.
  • Inställning av autoshow.

Inställning av format för rad/kolumn/sidofältsformat

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
// Get the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
int pivotindex = 0;
// Accessing the PivotTable
PivotTable pivotTable = worksheet.PivotTables[pivotindex];
// Setting the PivotTable report shows grand totals for rows.
pivotTable.RowGrand = true;
// Accessing the row fields.
Aspose.Cells.Pivot.PivotFieldCollection pivotFields = pivotTable.RowFields;
// Accessing the first row field in the row fields.
Aspose.Cells.Pivot.PivotField pivotField = pivotFields[0];
// Setting Subtotals.
pivotField.SetSubtotals(Aspose.Cells.Pivot.PivotFieldSubtotalType.Sum, true);
pivotField.SetSubtotals(Aspose.Cells.Pivot.PivotFieldSubtotalType.Count, true);
// Setting autosort options.
// Setting the field auto sort.
pivotField.IsAutoSort = true;
// Setting the field auto sort ascend.
pivotField.IsAscendSort = true;
// Setting the field auto sort using the field itself.
pivotField.AutoSortField = -5;
// Setting autoShow options.
// Setting the field auto show.
pivotField.IsAutoShow = true;
// Setting the field auto show ascend.
pivotField.IsAscendShow = false;
// Setting the auto show using field(data field).
pivotField.AutoShowField = 0;
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Inställning av format för datafält

Kodprovet nedan visar hur man ställer in visningsformat och nummerformat för datafält.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
// Get the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
int pivotindex = 0;
// Accessing the PivotTable
PivotTable pivotTable = worksheet.PivotTables[pivotindex];
// Accessing the data fields.
Aspose.Cells.Pivot.PivotFieldCollection pivotFields = pivotTable.DataFields;
// Accessing the first data field in the data fields.
Aspose.Cells.Pivot.PivotField pivotField = pivotFields[0];
// Setting data display format
pivotField.ShowValuesSetting.CalculationType = PivotFieldDataDisplayFormat.PercentageOf;
// Setting the base field.
pivotField.ShowValuesSetting.BaseFieldIndex = 1;
// Setting the base item.
pivotField.ShowValuesSetting.BaseItemPositionType = Aspose.Cells.Pivot.PivotItemPositionType.Next;
// Setting number format
pivotField.Number = 10;
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Rensa pivottabellsfält

Klassen PivotFieldCollection har en metod som heter Clear() som låter dig rensa pivottabellsfält. Använd den när du vill rensa alla pivottabellfält i områdena, till exempel sida, kolumn, rad eller data. Kodprovet nedan visar hur man rensar alla pivottabellfält i ett dataområde.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load a template file
Workbook workbook = new Workbook(dataDir + "Book1.xls");
// Get the first worksheet
Worksheet sheet = workbook.Worksheets[0];
// Get the pivot tables in the sheet
PivotTableCollection pivotTables = sheet.PivotTables;
// Get the first PivotTable
PivotTable pivotTable = pivotTables[0];
// Clear all the data fields
pivotTable.DataFields.Clear();
// Add new data field
pivotTable.AddFieldToArea(PivotFieldType.Data, "Betrag Netto FW");
// Set the refresh data flag on
pivotTable.RefreshDataFlag = false;
// Refresh and calculate the pivot table data
pivotTable.RefreshData();
pivotTable.CalculateData();
// Saving the Excel file
workbook.Save(dataDir + "output.xls");