So erstellen Sie eine Pivot-Tabelle in Excel mit Node.js

So erstellen Sie eine Pivot-Tabelle in Excel mit Node.js

Das Beste an Excel-Dateien ist, dass Sie in jeder Datenvisualisierungs- oder Kompilierungsphase Änderungen vornehmen können. MS Excel steht nach wie vor ganz oben auf der Liste, wenn es darum geht, Daten zu organisieren und komplexe Berechnungen durchzuführen. In diesem Blogbeitrag erfahren Sie, wie Sie mithilfe von Node.js programmgesteuert eine Pivot-Tabelle in Excel erstellen. Darüber hinaus werden wir auch durchgehen, wie man ein Pivot-Diagramm in einer Excel-Datei basierend auf einer Pivot-Tabelle erstellt. Dazu installieren wir dieses Excel-JavaScript API in unserem Node.js-Projekt.

Folgende Abschnitte werden behandelt:

Installation der Excel-JavaScript-API

Um diese leistungsstarke Bibliothek zu installieren, laden Sie das API-Paket entweder herunter oder installieren Sie es, indem Sie die folgenden Befehle ausführen:

npm install java
npm install aspose.cells

So erstellen Sie eine Pivot-Tabelle in Excel mit Node.js

In diesem Abschnitt schreiben wir die folgenden Schritte und den Codeausschnitt, der programmgesteuert eine Pivot-Tabelle in Excel erstellt.

Sie können die folgenden Schritte und das Code-Snippet befolgen, um Excel in DataTable in C# zu konvertieren:

  1. Instanziieren Sie einen Instant der Klasse Workbook.
  2. Rufen Sie die Referenz des ersten Arbeitsblatts ab, indem Sie die Methode get(index) aufrufen.
  3. Legen Sie den Namen des Arbeitsblatts fest, indem Sie die Methode setName aufrufen.
  4. Rufen Sie die Methode getCells auf, um die Cells-Auflistung abzurufen.
  5. Get das Cell-Element am angegebenen Zellennamen.
  6. Rufen Sie diese Methode setValue auf, um den Wert des Bereichs festzulegen.
  7. Rufen Sie das Cell-Objekt im Bereich ab, indem Sie die Methode get aufrufen.
  8. Hinzufügen eines neuen Blatts durch Aufrufen der Methode add.
  9. get das Worksheet-Element am angegebenen Index.
  10. Benennen Sie das Blatt, indem Sie die Methode setName aufrufen.
  11. Fügen Sie dem Arbeitsblatt eine Pivot-Tabelle hinzu, indem Sie die Methode add aufrufen.
  12. Zeigen Sie die Gesamtsummen an, indem Sie den Wert der Methode setRowGrand festlegen.
  13. Legen Sie den Wert der Methode setColumnGrand fest, der angibt, ob der PivotTable-Bericht Gesamtsummen für Spalten anzeigt.
  14. Legen Sie nun den Wert der Methode setAutoFormat fest, der angibt, ob der PivotTable-Bericht automatisch formatiert wird.
  15. Legen Sie den PivotTable-Typ autoformat fest, indem Sie die Methode setAutoFormatType aufrufen.
  16. Rufen Sie die Methode addFieldToArea auf, um das erste, zweite, dritte, vierte und fünfte Feld in den Zeilenbereich zu ziehen.
  17. Legen Sie das Zahlenformat des ersten Datenfelds fest, indem Sie die Methode getDataFields aufrufen.
  18. Speichern der Excel-Datei durch Aufrufen der Methode save.

Kopieren Sie den folgenden Code und fügen Sie ihn in Ihre Hauptdatei ein:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Instanziieren Sie einen Instant der Workbook-Klasse 
var workbook = new aspose.cells.Workbook();
// Rufen Sie die Referenz des ersten Arbeitsblatts ab, indem Sie die Methode get(index) aufrufen 
var sheet = workbook.getWorksheets().get(0);
//  Legen Sie den Namen des Arbeitsblatts fest, indem Sie die Methode setName aufrufen. 
sheet.setName("Data");
// Rufen Sie die getCells-Methode auf, um die Cells-Auflistung abzurufen. 
var cells = sheet.getCells();

// Ruft das Cell-Element am angegebenen Zellennamen ab. 
var cell = cells.get("A1");
// Rufen Sie diese Methode auf, um den Wert des Bereichs festzulegen. 
cell.setValue("Employee");
// Rufen Sie das Cell-Objekt im Bereich ab, indem Sie die get-Methode aufrufen.
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);


// Hinzufügen eines neuen Blatts durch Aufrufen der add-Methode 
var sheetIndex = workbook.getWorksheets().add();
// Holen Sie sich das Worksheet-Element am angegebenen Index. 
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// Benennen Sie das Blatt, indem Sie die setName-Methode aufrufen 
sheet2.setName("PivotTable");
// Abrufen der Pivottables-Auflistung im Blatt
var pivotTables = sheet2.getPivotTables();
// Fügen Sie dem Arbeitsblatt eine PivotTable hinzu, indem Sie die add-Methode aufrufen 
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// Rufen Sie die Instanz der neu hinzugefügten PivotTable ab
var pivotTable = pivotTables.get(index);
// Zeigen Sie die Gesamtsummen an, indem Sie den Wert der Methode setRowGrand festlegen 
pivotTable.setRowGrand(true);
// Legen Sie den Wert der setColumnGrand-Methode fest, der angibt, ob der PivotTable-Bericht Gesamtsummen für Spalten anzeigt.
pivotTable.setColumnGrand(true);
// Legen Sie den Wert der setAutoFormat-Methode fest, der angibt, ob der PivotTable-Bericht automatisch formatiert wird. 
pivotTable.setAutoFormat(true);
// Legen Sie den PivotTable-Autoformattyp fest, indem Sie die setAutoFormatType-Methode aufrufen 
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// Rufen Sie die addFieldToArea-Methode auf, um das erste, zweite, dritte, vierte und fünfte Feld in den Zeilenbereich zu ziehen. 
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 0);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 2);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 1);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.COLUMN, 3);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.DATA, 5);
// Legen Sie das Zahlenformat des ersten Datenfelds fest, indem Sie die Methode getDataFields aufrufen 
pivotTable.getDataFields().get(0).setNumber(7);
// Speichern der Excel-Datei durch Aufrufen der save-Methode 
workbook.save(  "pivotTable_test.xls");

Sie können die Ausgabe im Bild unten sehen:

Erstellen Sie mit Node.js eine Pivot-Tabelle in Excel

So erstellen Sie programmgesteuert ein Pivot-Diagramm in Excel

Jetzt implementieren wir die Funktionalität zum Erstellen eines Pivot-Diagramms basierend auf der generierten Pivot-Tabelle mit dieser Excel-JavaScript-API.

Sie können die Schritte und das unten erwähnte Code-Snippet befolgen:

  1. Instanziieren Sie eine Instanz der Klasse Workbook.
  2. Rufen Sie die add-Methode auf, um der Sammlung ein Arbeitsblatt hinzuzufügen.
  3. get das Worksheet-Element am angegebenen Index.
  4. Benennen Sie das Blatt, indem Sie die Methode setName aufrufen.
  5. Fügen Sie ein Säulendiagramm hinzu, indem Sie die Methode add aufrufen.
  6. get das Chart-Element am angegebenen Index.
  7. Rufen Sie die Methode setPivotSource auf, um die Datenquelle des Pivot-Diagramms festzulegen.
  8. Rufen Sie die Methode setHidePivotFieldButtons auf, um die Feldschaltflächen des Pivot-Diagramms nur auszublenden, wenn es sich bei dem Diagramm um ein PivotChart handelt.
  9. save Sie die Excel-Datei.

Kopieren Sie den folgenden Code und fügen Sie ihn in Ihre Hauptdatei ein:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Erstellen Sie eine Instanz der Workbook-Klasse 
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// Rufen Sie die Methode add auf, um der Sammlung ein Arbeitsblatt hinzuzufügen.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// Holen Sie sich das Worksheet-Element am angegebenen Index. 
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// Benennen Sie das Blatt, indem Sie die setName-Methode aufrufen 
sheet3.setName("PivotChart");
// Fügen Sie ein Säulendiagramm hinzu, indem Sie die add-Methode aufrufen 
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// Holen Sie sich das Chart-Element am angegebenen Index. 
var chart = sheet3.getCharts().get(chartIndex);
// Rufen Sie die Methode setPivotSource auf, um die Datenquelle des Pivot-Diagramms festzulegen 
chart.setPivotSource("PivotTable!PivotTable1");
// Rufen Sie die setHidePivotFieldButtons-Methode auf, um die Feldschaltflächen des Pivot-Diagramms nur dann auszublenden, wenn das Diagramm PivotChart ist. 
chart.setHidePivotFieldButtons(false);
// Speichern Sie die Excel-Datei 
workbook.save( "pivotChart_test.xls");

Die Ausgabe ist im Bild unten dargestellt:

So erstellen Sie programmgesteuert ein Pivot-Diagramm in Excel

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz in Anspruch nehmen, um die API ohne Evaluierungseinschränkungen zu testen.

Zusammenfassen

Wie Sie diese Excel-JavaScript-API auf Unternehmensebene durchlaufen haben. Darüber hinaus haben Sie gelernt, wie Sie mit Node.js programmgesteuert eine Pivot-Tabelle in Excel erstellen, und wir haben auch die Funktionalität zum Erstellen eines Pivot-Diagramms implementiert. Darüber hinaus können Sie die Dokumentation besuchen, um die anderen Funktionen kennenzulernen.

Außerdem empfehlen wir Ihnen, unserem Leitfaden „Erste Schritte“ zu folgen.

Schließlich schreibt conholdate.com ständig neue Blogbeiträge. Bitte bleiben Sie daher in Kontakt, um die neuesten Updates zu erhalten.

Stelle eine Frage

Sie können uns Ihre Fragen oder Anliegen in unserem Forum mitteilen.

Häufig gestellte Fragen

Wie erstellt man eine PivotTable in Excel und bearbeitet sie?

Sie können dieses Excel-JavaScript API installieren, um programmgesteuert eine PivotTable in Excel zu erstellen. Außerdem können Sie diesen link besuchen, um die Schritte und das Code-Snippet abzurufen.

Siehe auch