Formatera pivottabell

Pivottabellens utseende

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

  • Alternativ för pivottabellformat
  • Formatalternativ för pivotfält
  • Formatalternativ för datafält

Ställa in alternativ för pivottabellformat

DePivottabellklass styr den övergripande pivottabellen och kan formateras på ett antal sätt.

Ställa in AutoFormat Type

Microsoft Excel erbjuder ett antal olika förinställda rapportformat. Aspose.Cells stöder även dessa formateringsalternativ. Så här kommer du åt dem:

  1. UppsättningPivottabell.IsAutoFormat tillSann.
  2. Tilldela ett formateringsalternativ frånPivotTableAutoFormatTypeuppräkning.
// 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");

Ställa in formatalternativ

Kodexemplet nedan visar hur man formaterar pivottabellen för att visa totalsummor för rader och kolumner, och hur man ställer in rapportens fältordning. Den visar också hur man ställer in en kundsträ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");

Formatera utseende och känsla manuellt

För att formatera hur pivottabellsrapporten ser ut manuellt, istället för att använda förinställda rapportformat, användPivotTable.Format() ochPivotTable.FormatAll()metoder. Skapa ett stilobjekt för önskad formatering, 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");

Ställa in alternativ för pivotfältsformat

DePivotfältklass representerar ett fält i en pivottabell och kan formateras på ett antal sätt. Kodexemplet nedan visar hur du:

  • Få tillgång till radfält.
  • Ställa in delsummor.
  • Ställa in autosort.
  • Ställa in autoshow.

Ställa in format för rad/kolumn/sidfä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];
// 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");

Ställa in format för datafält

Kodexemplet nedan visar hur man ställer in visningsformat och talformat 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 pivotfält

DePivotFieldCollection har en metod som heterKlar()som låter dig rensa pivotfält. Använd den när du vill rensa alla pivotfält i områdena, till exempel sida, kolumn, rad eller data. Kodexemplet nedan visar hur man rensar alla pivotfä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");