Formatieren der Pivot Tabelle
Aussehen der Pivot-Tabelle
Wie man eine Pivot-Tabelle erstellt zeigt, wie man eine einfache Pivot-Tabelle erstellt. Dieser Artikel geht weiter und erörtert, wie das Erscheinungsbild einer Pivot-Tabelle durch das Festlegen von Eigenschaften angepasst werden kann.
Einstellen der Pivot-Tabellenformatoptionen
Die Klasse PivotTable ermöglicht das Einstellen verschiedener Formatierungsoptionen für eine Pivot-Tabelle.
Einstellen der AutoFormat- und PivotTableStyle-Typen
Das folgende Codebeispiel veranschaulicht, wie man den Autoformat-Typ und den Pivot-Tabellenstil-Typ unter Verwendung der Eigenschaften AutoFormatType und PivotTableStyleType festlegt.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SetAutoFormatandPivotTableStyleTypes.class) + "PivotTables/"; | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
int pivotindex = 0; | |
// Get the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(pivotindex); | |
// Accessing the PivotTable | |
PivotTable pivotTable = worksheet.getPivotTables().get(pivotindex); | |
//Setting the PivotTable report is automatically formatted for Excel 2003 formats | |
pivotTable.setAutoFormat(true); | |
//Setting the PivotTable atuoformat type. | |
pivotTable.setAutoFormatType(PivotTableAutoFormatType.CLASSIC); | |
//Setting the PivotTable's Styles for Excel 2007/2010 formats e.g XLSX. | |
pivotTable.setPivotTableStyleType(PivotTableStyleType.PIVOT_TABLE_STYLE_LIGHT_1); |
Einstellen von Formatoptionen
Das folgende Codebeispiel zeigt, wie eine Reihe von Formatierungsoptionen für einen Pivot-Tabellenbericht eingestellt werden können, einschließlich dem Hinzufügen von Gesamtsummen für Zeilen und Spalten.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingFormatOptions.class) + "PivotTables/"; | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
PivotTable pivotTable = worksheet.getPivotTables().get(0); | |
// Dragging the third field to the data area. | |
pivotTable.addFieldToArea(PivotFieldType.DATA, 2); | |
// Show grand totals for rows. | |
pivotTable.setRowGrand(true); | |
// Show grand totals for columns. | |
pivotTable.setColumnGrand(true); | |
// Display a custom string in cells that contain null values. | |
pivotTable.setDisplayNullString(true); | |
pivotTable.setNullString("null"); | |
// Setting the layout | |
pivotTable.setPageFieldOrder(PrintOrderType.DOWN_THEN_OVER); |
Formatierungsoptionen für PivotFields einstellen
Neben der Steuerung der Formatierung der Gesamtpivottabelle ermöglicht Aspose.Cells for Java eine feinabgestimmte Steuerung der Formatierung für Zeilenfelder, Spaltenfelder und Seitenelemente.
Formatierung für Zeilen-, Spalten- und Seitenelemente einstellen
Das folgende Codebeispiel zeigt, wie auf Zeilenfelder zugegriffen, eine bestimmte Zeile festgelegt, Teilergebnisse festgelegt, eine automatische Sortierung angewendet und die autoShow-Option verwendet werden.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SetRowColumnPageFieldsFormat.class) + "PivotTables/"; | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
PivotTable pivotTable = worksheet.getPivotTables().get(0); | |
// Accessing the row fields. | |
PivotFieldCollection pivotFields = pivotTable.getRowFields(); | |
// Accessing the first row field in the row fields. | |
PivotField pivotField = pivotFields.get(0); | |
// Setting Subtotals. | |
pivotField.setSubtotals(PivotFieldSubtotalType.SUM, true); | |
pivotField.setSubtotals(PivotFieldSubtotalType.COUNT, true); | |
// Setting autosort options. Setting the field auto sort. | |
pivotField.setAutoSort(true); | |
// Setting the field auto sort ascend. | |
pivotField.setAscendSort(true); | |
// Setting the field auto sort using the field itself. | |
pivotField.setAutoSortField(-1); | |
// Setting autoShow options. Setting the field auto show. | |
pivotField.setAutoShow(true); | |
// Setting the field auto show ascend. | |
pivotField.setAscendShow(false); | |
// Setting the auto show using field(data field). | |
pivotField.setAutoShowField(0); |
Formatierungsoptionen für Datenfelder einstellen
Die folgenden Codezeilen veranschaulichen, wie Datenfelder formatiert werden können.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingDataFieldFormat.class) + "PivotTables/"; | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
PivotTable pivotTable = worksheet.getPivotTables().get(0); | |
// Accessing the data fields. | |
PivotFieldCollection pivotFields = pivotTable.getDataFields(); | |
// Accessing the first data field in the data fields. | |
PivotField pivotField = pivotFields.get(0); | |
// Setting data display format | |
pivotField.setDataDisplayFormat(PivotFieldDataDisplayFormat.PERCENTAGE_OF); | |
// Setting the base field. | |
pivotField.setBaseFieldIndex(1); | |
// Setting the base item. | |
pivotField.setBaseItemPosition(PivotItemPosition.NEXT); | |
// Setting number format | |
pivotField.setNumber(10); |
Ein Schnellformat für eine Pivot-Tabelle bearbeiten
Die folgenden Codebeispiele zeigen, wie das Schnellformat, das auf eine Pivot-Tabelle angewendet wird, geändert werden kann.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ModifyPivotTableQuickStyle.class) + "PivotTables/"; | |
// Open the template file containing the pivot table. | |
Workbook wb = new Workbook(dataDir + "sample1.xlsx"); | |
// Add Pivot Table style | |
Style style1 = wb.createStyle(); | |
com.aspose.cells.Font font1 = style1.getFont(); | |
font1.setColor(Color.getRed()); | |
Style style2 = wb.createStyle(); | |
com.aspose.cells.Font font2 = style2.getFont(); | |
font2.setColor(Color.getBlue()); | |
int i = wb.getWorksheets().getTableStyles().addPivotTableStyle("tt"); | |
// Get and Set the table style for different categories | |
TableStyle ts = wb.getWorksheets().getTableStyles().get(i); | |
int index = ts.getTableStyleElements().add(TableStyleElementType.FIRST_COLUMN); | |
TableStyleElement e = ts.getTableStyleElements().get(index); | |
e.setElementStyle(style1); | |
index = ts.getTableStyleElements().add(TableStyleElementType.GRAND_TOTAL_ROW); | |
e = ts.getTableStyleElements().get(index); | |
e.setElementStyle(style2); | |
// Set Pivot Table style name | |
PivotTable pt = wb.getWorksheets().get(0).getPivotTables().get(0); | |
pt.setPivotTableStyleName("tt"); | |
// Save the file. | |
wb.save(dataDir + "ModifyPivotTableQuickStyle_out.xlsx"); |
Löschen von Pivot-Feldern
PivotFieldCollection hat eine Methode namens clear(), die die Pivot-Felder löscht. Verwenden Sie sie, um zum Beispiel Seiten-, Spalten-, Zeilen- oder Daten-Pivot-Felder zu löschen. Das unten stehende Code-Beispiel zeigt, wie alle Pivot-Felder im Datenbereich gelöscht werden können.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ClearPivotFields.class) + "PivotTables/"; | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
// Get the first worksheet | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Get the pivot tables in the sheet | |
PivotTableCollection pivotTables = sheet.getPivotTables(); | |
// Get the first PivotTable | |
PivotTable pivotTable = pivotTables.get(0); | |
// Clear all the data fields | |
pivotTable.getDataFields().clear(); | |
// Add new data field | |
pivotTable.addFieldToArea(PivotFieldType.DATA, "Betrag Netto FW"); | |
// Set the refresh data flag on | |
pivotTable.setRefreshDataFlag(false); | |
// Refresh and calculate the pivot table data | |
pivotTable.refreshData(); | |
pivotTable.calculateData(); | |
// Save the Excel file | |
workbook.save(dataDir + "ClearPivotFields_out.xlsx"); |
Konsolidierungsfunktion
Anwendung von ConsolidationFunction auf Datenfelder des Pivot-Tabellen
Aspose.Cells kann verwendet werden, um die Konsolidierungsfunktion auf Datenfelder (oder Wertefelder) des Pivot-Tables anzuwenden. In Microsoft Excel können Sie mit der rechten Maustaste auf das Wertefeld klicken und dann die Option Feldwerteinstellungen… auswählen und dann den Tab Werte zusammenfassen nach wählen. Von dort aus können Sie eine beliebige Konsolidierungsfunktion Ihrer Wahl wie Summe, Anzahl, Durchschnitt, Max, Min, Produkt, Unterschiedliche Anzahl usw. auswählen.
Aspose.Cells bietet die Aufzählung ConsolidationFunction, um die folgenden Konsolidierungsfunktionen zu unterstützen.
- ConsolidationFunction.AVERAGE
- ConsolidationFunction.COUNT
- ConsolidationFunction.COUNT_NUMS
- ConsolidationFunction.DISTINCT_COUNT
- ConsolidationFunction.MAX
- ConsolidationFunction.MIN
- ConsolidationFunction.PRODUCT
- ConsolidationFunction.STD_DEV
- ConsolidationFunction.STD_DEVP
- ConsolidationFunction.SUM
- ConsolidationFunction.VAR
- ConsolidationFunction.VARP
Der folgende Code wendet die Konsolidierungsfunktion Durchschnitt auf das erste Datenfeld (oder Wertfeld) und die Konsolidierungsfunktion Unterschiedliche Anzahl auf das zweite Datenfeld (oder Wertfeld) an.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ConsolidationFunctions.class) + "PivotTables/"; | |
// Create workbook from source excel file | |
Workbook workbook = new Workbook(dataDir + "sample1.xlsx"); | |
// Access the first worksheet of the workbook | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Access the first pivot table of the worksheet | |
PivotTable pivotTable = worksheet.getPivotTables().get(0); | |
// Apply Average consolidation function to first data field | |
pivotTable.getDataFields().get(0).setFunction(ConsolidationFunction.AVERAGE); | |
// Apply DistinctCount consolidation function to second data field | |
pivotTable.getDataFields().get(1).setFunction(ConsolidationFunction.DISTINCT_COUNT); | |
// Calculate the data to make changes affect | |
pivotTable.calculateData(); | |
// Save the workbook | |
workbook.save(dataDir + "ConsolidationFunctions_out.xlsx"); |