Erstellen von Pivot Tabellen und Pivot Diagrammen
Eine Pivot-Tabelle ist eine interaktive Zusammenfassung von Datensätzen. Sie können beispielsweise Hunderte von Rechnungseinträgen in einer Liste in einem Arbeitsblatt haben. Eine Pivot-Tabelle kann die Rechnungen nach Kunden, Produkt oder Datum zusammenfassen. Mit Microsoft Excel ist es möglich, die Informationen in der Pivot-Tabelle schnell neu anzuordnen, indem Sie Schaltflächen an eine neue Position ziehen.
Ein Pivot-Diagramm ist eine interaktive grafische Darstellung der Daten in einer Pivot-Tabelle. Pivot-Diagramme wurden in Excel 2000 eingeführt. Durch die Verwendung eines Pivot-Diagramms wird es noch einfacher, die Daten zu verstehen, da die Pivot-Tabelle automatisch Teil- und Gesamtsummen erstellt.
Aspose.Cells unterstützt Pivot-Tabellen und Pivot-Diagramme.
Hinzufügen von Pivot-Tabellen und -Diagrammen
Aspose.Cells bietet eine spezielle Reihe von Klassen zur Erstellung von Pivot-Tabellen. Diese Klassen werden verwendet, um PivotTable-Objekte zu erstellen und zu setzen, die als grundlegende Bausteine eines PivotTable-Objekts dienen:
- PivotField, ein Feld in einem Pivot-Tabellenbericht.
- PivotFields, eine Sammlung aller PivotField-Objekte in einer Pivot-Tabelle.
- PivotTable, ein Pivot-Tabellenbericht auf einem Arbeitsblatt.
- PivotTables, eine Sammlung aller PivotTable-Objekte auf dem Arbeitsblatt.
Vorbereitung zur Verwendung von Aspose.Cells
- Laden Sie Aspose.Cells.Zip herunter und installieren Sie es:
- Aspose.Cells for Java herunterladen.
- Entpacken Sie es auf Ihrem Entwicklungscomputer. Alle Aspose Komponenten funktionieren nach der Installation im Evaluierungsmodus. Der Evaluierungsmodus hat kein Zeitlimit und fügt nur Wasserzeichen in erstellte Dokumente ein.
- Erstellen Sie ein Projekt
- Sie können entweder ein Projekt mit einem Java-Editor wie z.B. Eclipse erstellen oder ein einfaches Programm mit einem Notepad erstellen.
- Fügen Sie den Klassenpfad hinzu:
Um den Klassenpfad in Eclipse zu setzen:
- Extrahieren Sie die Aspose.Cells.jar und dom4j_1.6.1.jar aus Aspose.Cells.zip.
- Setzen Sie den Klassenpfad des Projekts in Eclipse:
- Wählen Sie Ihr Projekt in Eclipse und klicken Sie dann auf Menüs Projekt-Eigenschaften.
- Wählen Sie im linken Bereich des Popup-Fensters “Java Build Path” aus, wählen Sie dann die Registerkarte “Bibliotheken” aus, klicken Sie auf “JARs hinzufügen” oder “Externe JARs hinzufügen”, um Aspose.Cells.jar und dom4j_1.6.1.jar auszuwählen und fügen Sie sie zu den Erstellungspfaden hinzu.
- Schreiben Sie eine Anwendung, um die APIs der Aspose-Komponenten aufzurufen. Oder Sie können es auch zur Laufzeit im DOS-Prompt unter Windows festlegen.
javac \-classpath %classpath%;e:\Aspose.Cells.jar; ClassName .javajava \-classpath %classpath%;e:\Aspose.Cells.jar; ClassName
Erstellen einer Pivot-Tabelle
Um eine Pivot-Tabelle mit Aspose.Cells zu erstellen:
- Fügen Sie einige Daten in Zellen eines Arbeitsblatts mit der PutValue/setValue-Methode eines Cell-Objekts ein. Sie können auch eine Vorlagendatei verwenden, die bereits mit Daten gefüllt ist. Die Daten werden als Datenquelle der Pivot-Tabelle verwendet.
- Fügen Sie dem Arbeitsblatt eine Pivot-Tabelle hinzu, indem Sie die Methode add der PivotTables-Sammlung aufrufen (die im Arbeitsblatt-Objekt gekapselt ist).
- Greifen Sie auf das neue PivotTable-Objekt aus der PivotTables-Sammlung zu, indem Sie seinen Index übergeben.
- Verwenden Sie eines der im PivotTable-Objekt gekapselten Pivot-Table-Objekte, um das Table zu verwalten.
Ein Codebeispiel wird unten gegeben. Wenn der Code ausgeführt wird, wird eine neue Datei generiert: pivotTable_test.xls.
Eingangsdaten
Das Output-Pivot-Table
// 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.getDataDir(CreatePivotTable.class); | |
// Instantiating an Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Name the sheet | |
sheet.setName("Data"); | |
Cells cells = sheet.getCells(); | |
// Setting the values to the cells | |
Cell cell = cells.get("A1"); | |
cell.setValue("Employee"); | |
cell = cells.get("B1"); | |
cell.setValue("Quarter"); | |
cell = cells.get("C1"); | |
cell.setValue("Product"); | |
cell = cells.get("D1"); | |
cell.setValue("Continent"); | |
cell = cells.get("E1"); | |
cell.setValue("Country"); | |
cell = cells.get("F1"); | |
cell.setValue("Sale"); | |
cell = cells.get("A2"); | |
cell.setValue("David"); | |
cell = cells.get("A3"); | |
cell.setValue("David"); | |
cell = cells.get("A4"); | |
cell.setValue("David"); | |
cell = cells.get("A5"); | |
cell.setValue("David"); | |
cell = cells.get("A6"); | |
cell.setValue("James"); | |
cell = cells.get("A7"); | |
cell.setValue("James"); | |
cell = cells.get("A8"); | |
cell.setValue("James"); | |
cell = cells.get("A9"); | |
cell.setValue("James"); | |
cell = cells.get("A10"); | |
cell.setValue("James"); | |
cell = cells.get("A11"); | |
cell.setValue("Miya"); | |
cell = cells.get("A12"); | |
cell.setValue("Miya"); | |
cell = cells.get("A13"); | |
cell.setValue("Miya"); | |
cell = cells.get("A14"); | |
cell.setValue("Miya"); | |
cell = cells.get("A15"); | |
cell.setValue("Miya"); | |
cell = cells.get("A16"); | |
cell.setValue("Miya"); | |
cell = cells.get("A17"); | |
cell.setValue("Miya"); | |
cell = cells.get("A18"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A19"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A20"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A21"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A22"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A23"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A24"); | |
cell.setValue("Elvis"); | |
cell = cells.get("A25"); | |
cell.setValue("Jean"); | |
cell = cells.get("A26"); | |
cell.setValue("Jean"); | |
cell = cells.get("A27"); | |
cell.setValue("Jean"); | |
cell = cells.get("A28"); | |
cell.setValue("Ada"); | |
cell = cells.get("A29"); | |
cell.setValue("Ada"); | |
cell = cells.get("A30"); | |
cell.setValue("Ada"); | |
cell = cells.get("B2"); | |
cell.setValue("1"); | |
cell = cells.get("B3"); | |
cell.setValue("2"); | |
cell = cells.get("B4"); | |
cell.setValue("3"); | |
cell = cells.get("B5"); | |
cell.setValue("4"); | |
cell = cells.get("B6"); | |
cell.setValue("1"); | |
cell = cells.get("B7"); | |
cell.setValue("2"); | |
cell = cells.get("B8"); | |
cell.setValue("3"); | |
cell = cells.get("B9"); | |
cell.setValue("4"); | |
cell = cells.get("B10"); | |
cell.setValue("4"); | |
cell = cells.get("B11"); | |
cell.setValue("1"); | |
cell = cells.get("B12"); | |
cell.setValue("1"); | |
cell = cells.get("B13"); | |
cell.setValue("2"); | |
cell = cells.get("B14"); | |
cell.setValue("2"); | |
cell = cells.get("B15"); | |
cell.setValue("3"); | |
cell = cells.get("B16"); | |
cell.setValue("4"); | |
cell = cells.get("B17"); | |
cell.setValue("4"); | |
cell = cells.get("B18"); | |
cell.setValue("1"); | |
cell = cells.get("B19"); | |
cell.setValue("1"); | |
cell = cells.get("B20"); | |
cell.setValue("2"); | |
cell = cells.get("B21"); | |
cell.setValue("3"); | |
cell = cells.get("B22"); | |
cell.setValue("3"); | |
cell = cells.get("B23"); | |
cell.setValue("4"); | |
cell = cells.get("B24"); | |
cell.setValue("4"); | |
cell = cells.get("B25"); | |
cell.setValue("1"); | |
cell = cells.get("B26"); | |
cell.setValue("2"); | |
cell = cells.get("B27"); | |
cell.setValue("3"); | |
cell = cells.get("B28"); | |
cell.setValue("1"); | |
cell = cells.get("B29"); | |
cell.setValue("2"); | |
cell = cells.get("B30"); | |
cell.setValue("3"); | |
cell = cells.get("C2"); | |
cell.setValue("Maxilaku"); | |
cell = cells.get("C3"); | |
cell.setValue("Maxilaku"); | |
cell = cells.get("C4"); | |
cell.setValue("Chai"); | |
cell = cells.get("C5"); | |
cell.setValue("Maxilaku"); | |
cell = cells.get("C6"); | |
cell.setValue("Chang"); | |
cell = cells.get("C7"); | |
cell.setValue("Chang"); | |
cell = cells.get("C8"); | |
cell.setValue("Chang"); | |
cell = cells.get("C9"); | |
cell.setValue("Chang"); | |
cell = cells.get("C10"); | |
cell.setValue("Chang"); | |
cell = cells.get("C11"); | |
cell.setValue("Geitost"); | |
cell = cells.get("C12"); | |
cell.setValue("Chai"); | |
cell = cells.get("C13"); | |
cell.setValue("Geitost"); | |
cell = cells.get("C14"); | |
cell.setValue("Geitost"); | |
cell = cells.get("C15"); | |
cell.setValue("Maxilaku"); | |
cell = cells.get("C16"); | |
cell.setValue("Geitost"); | |
cell = cells.get("C17"); | |
cell.setValue("Geitost"); | |
cell = cells.get("C18"); | |
cell.setValue("Ikuru"); | |
cell = cells.get("C19"); | |
cell.setValue("Ikuru"); | |
cell = cells.get("C20"); | |
cell.setValue("Ikuru"); | |
cell = cells.get("C21"); | |
cell.setValue("Ikuru"); | |
cell = cells.get("C22"); | |
cell.setValue("Ipoh Coffee"); | |
cell = cells.get("C23"); | |
cell.setValue("Ipoh Coffee"); | |
cell = cells.get("C24"); | |
cell.setValue("Ipoh Coffee"); | |
cell = cells.get("C25"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("C26"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("C27"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("C28"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("C29"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("C30"); | |
cell.setValue("Chocolade"); | |
cell = cells.get("D2"); | |
cell.setValue("Asia"); | |
cell = cells.get("D3"); | |
cell.setValue("Asia"); | |
cell = cells.get("D4"); | |
cell.setValue("Asia"); | |
cell = cells.get("D5"); | |
cell.setValue("Asia"); | |
cell = cells.get("D6"); | |
cell.setValue("Europe"); | |
cell = cells.get("D7"); | |
cell.setValue("Europe"); | |
cell = cells.get("D8"); | |
cell.setValue("Europe"); | |
cell = cells.get("D9"); | |
cell.setValue("Europe"); | |
cell = cells.get("D10"); | |
cell.setValue("Europe"); | |
cell = cells.get("D11"); | |
cell.setValue("America"); | |
cell = cells.get("D12"); | |
cell.setValue("America"); | |
cell = cells.get("D13"); | |
cell.setValue("America"); | |
cell = cells.get("D14"); | |
cell.setValue("America"); | |
cell = cells.get("D15"); | |
cell.setValue("America"); | |
cell = cells.get("D16"); | |
cell.setValue("America"); | |
cell = cells.get("D17"); | |
cell.setValue("America"); | |
cell = cells.get("D18"); | |
cell.setValue("Europe"); | |
cell = cells.get("D19"); | |
cell.setValue("Europe"); | |
cell = cells.get("D20"); | |
cell.setValue("Europe"); | |
cell = cells.get("D21"); | |
cell.setValue("Oceania"); | |
cell = cells.get("D22"); | |
cell.setValue("Oceania"); | |
cell = cells.get("D23"); | |
cell.setValue("Oceania"); | |
cell = cells.get("D24"); | |
cell.setValue("Oceania"); | |
cell = cells.get("D25"); | |
cell.setValue("Africa"); | |
cell = cells.get("D26"); | |
cell.setValue("Africa"); | |
cell = cells.get("D27"); | |
cell.setValue("Africa"); | |
cell = cells.get("D28"); | |
cell.setValue("Africa"); | |
cell = cells.get("D29"); | |
cell.setValue("Africa"); | |
cell = cells.get("D30"); | |
cell.setValue("Africa"); | |
cell = cells.get("E2"); | |
cell.setValue("China"); | |
cell = cells.get("E3"); | |
cell.setValue("India"); | |
cell = cells.get("E4"); | |
cell.setValue("Korea"); | |
cell = cells.get("E5"); | |
cell.setValue("India"); | |
cell = cells.get("E6"); | |
cell.setValue("France"); | |
cell = cells.get("E7"); | |
cell.setValue("France"); | |
cell = cells.get("E8"); | |
cell.setValue("Germany"); | |
cell = cells.get("E9"); | |
cell.setValue("Italy"); | |
cell = cells.get("E10"); | |
cell.setValue("France"); | |
cell = cells.get("E11"); | |
cell.setValue("U.S."); | |
cell = cells.get("E12"); | |
cell.setValue("U.S."); | |
cell = cells.get("E13"); | |
cell.setValue("Brazil"); | |
cell = cells.get("E14"); | |
cell.setValue("U.S."); | |
cell = cells.get("E15"); | |
cell.setValue("U.S."); | |
cell = cells.get("E16"); | |
cell.setValue("Canada"); | |
cell = cells.get("E17"); | |
cell.setValue("U.S."); | |
cell = cells.get("E18"); | |
cell.setValue("Italy"); | |
cell = cells.get("E19"); | |
cell.setValue("France"); | |
cell = cells.get("E20"); | |
cell.setValue("Italy"); | |
cell = cells.get("E21"); | |
cell.setValue("New Zealand"); | |
cell = cells.get("E22"); | |
cell.setValue("Australia"); | |
cell = cells.get("E23"); | |
cell.setValue("Australia"); | |
cell = cells.get("E24"); | |
cell.setValue("New Zealand"); | |
cell = cells.get("E25"); | |
cell.setValue("S.Africa"); | |
cell = cells.get("E26"); | |
cell.setValue("S.Africa"); | |
cell = cells.get("E27"); | |
cell.setValue("S.Africa"); | |
cell = cells.get("E28"); | |
cell.setValue("Egypt"); | |
cell = cells.get("E29"); | |
cell.setValue("Egypt"); | |
cell = cells.get("E30"); | |
cell.setValue("Egypt"); | |
cell = cells.get("F2"); | |
cell.setValue(2000); | |
cell = cells.get("F3"); | |
cell.setValue(500); | |
cell = cells.get("F4"); | |
cell.setValue(1200); | |
cell = cells.get("F5"); | |
cell.setValue(1500); | |
cell = cells.get("F6"); | |
cell.setValue(500); | |
cell = cells.get("F7"); | |
cell.setValue(1500); | |
cell = cells.get("F8"); | |
cell.setValue(800); | |
cell = cells.get("F9"); | |
cell.setValue(900); | |
cell = cells.get("F10"); | |
cell.setValue(500); | |
cell = cells.get("F11"); | |
cell.setValue(1600); | |
cell = cells.get("F12"); | |
cell.setValue(600); | |
cell = cells.get("F13"); | |
cell.setValue(2000); | |
cell = cells.get("F14"); | |
cell.setValue(500); | |
cell = cells.get("F15"); | |
cell.setValue(900); | |
cell = cells.get("F16"); | |
cell.setValue(700); | |
cell = cells.get("F17"); | |
cell.setValue(1400); | |
cell = cells.get("F18"); | |
cell.setValue(1350); | |
cell = cells.get("F19"); | |
cell.setValue(300); | |
cell = cells.get("F20"); | |
cell.setValue(500); | |
cell = cells.get("F21"); | |
cell.setValue(1000); | |
cell = cells.get("F22"); | |
cell.setValue(1500); | |
cell = cells.get("F23"); | |
cell.setValue(1500); | |
cell = cells.get("F24"); | |
cell.setValue(1600); | |
cell = cells.get("F25"); | |
cell.setValue(1000); | |
cell = cells.get("F26"); | |
cell.setValue(1200); | |
cell = cells.get("F27"); | |
cell.setValue(1300); | |
cell = cells.get("F28"); | |
cell.setValue(1500); | |
cell = cells.get("F29"); | |
cell.setValue(1400); | |
cell = cells.get("F30"); | |
cell.setValue(1000); | |
// Adding a new sheet | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet sheet2 = workbook.getWorksheets().get(sheetIndex); | |
// Naming the sheet | |
sheet2.setName("PivotTable"); | |
// Getting the pivottables collection in the sheet | |
PivotTableCollection pivotTables = sheet2.getPivotTables(); | |
// Adding a PivotTable to the worksheet | |
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1"); | |
// Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = pivotTables.get(index); | |
// Showing the grand totals | |
pivotTable.setRowGrand(true); | |
pivotTable.setColumnGrand(true); | |
// Setting the PivotTable report is automatically formatted | |
pivotTable.setAutoFormat(true); | |
// Setting the PivotTable autoformat type. | |
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6); | |
// Draging the first field to the row area. | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 0); | |
// Draging the third field to the row area. | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 2); | |
// Draging the second field to the row area. | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 1); | |
// Draging the fourth field to the column area. | |
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3); | |
// Draging the fifth field to the data area. | |
pivotTable.addFieldToArea(PivotFieldType.DATA, 5); | |
// Setting the number format of the first data field | |
pivotTable.getDataFields().get(0).setNumber(7); | |
// Saving the Excel file | |
workbook.save(dataDir + "pivotTable_test.xls"); |
Erstellen eines Pivot-Diagramms basierend auf dem Pivot-Table
Um ein Pivot-Diagramm mit Aspose.Cells zu erstellen:
- Fügen Sie ein Diagramm hinzu.
- Setzen Sie den PivotSource des Diagramms so, dass er auf eine vorhandene Pivot-Tabelle in der Tabelle verweist.
- Setzen Sie andere Attribute.
Unten ist der Code, den das Bauteil verwendet, um die Aufgabe zu erfüllen. Wenn der Code ausgeführt wird, wird eine neue Datei generiert: pivotChart_test.xls.
Das Pivot-Diagrammblatt
// 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.getDataDir(CreatePivotChartbasedonPivotTable.class); | |
// Instantiating an Workbook object | |
Workbook workbook = new Workbook(dataDir + "pivotTable_test.xls"); | |
// Adding a new sheet | |
int sheetIndex = workbook.getWorksheets().add(SheetType.CHART); | |
Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex); | |
// Naming the sheet | |
sheet3.setName("PivotChart"); | |
// Adding a column chart | |
int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16); | |
Chart chart = sheet3.getCharts().get(chartIndex); | |
// Setting the pivot chart data source | |
chart.setPivotSource("PivotTable!PivotTable1"); | |
chart.setHidePivotFieldButtons(false); | |
// Saving the Excel file | |
workbook.save(dataDir + "pivotChart_test.xls"); |
Dieser Artikel zeigt, wie man Pivot-Tabellen und Pivot-Diagramme mit Aspose.Cells erstellt. Hoffentlich wird es Ihnen helfen, diese Funktionen in Ihren eigenen Szenarien zu verwenden.
Aspose.Cells hat jahrelange Forschung, Design und sorgfältige Abstimmung genossen.
Wir begrüßen Ihre Anfragen, Kommentare und Vorschläge im Aspose.Cells-Forum. Wir garantieren eine schnelle Antwort.