Jak utworzyć tabelę przestawną w programie Excel przy użyciu Node.js

Jak utworzyć tabelę przestawną w programie Excel przy użyciu Node.js

Największą zaletą plików [Excel] jest to, że można je modyfikować na dowolnym etapie wizualizacji lub kompilacji danych. MS Excel nadal znajduje się na szczycie listy jeśli chodzi o porządkowanie danych i wykonywanie skomplikowanych obliczeń. W tym wpisie na blogu dowiemy się, jak utworzyć tabelę przestawną w Excelu, używając programowo Node.js. Dodatkowo omówimy również jak utworzyć wykres przestawny w pliku Excel w oparciu o tabelę przestawną. W tym celu zainstalujemy Excel JavaScript API w naszym projekcie Node.js.

Omówione zostaną następujące sekcje:

Instalacja API JavaScript w programie Excel

Aby zainstalować tę potężną bibliotekę, pobierz pakiet API lub zainstaluj go, uruchamiając następujące polecenia:

npm install java
npm install aspose.cells

Jak utworzyć tabelę przestawną w programie Excel przy użyciu Node.js

W tej sekcji napiszemy następujące kroki i fragment kodu, który programowo tworzy tabelę przestawną w programie Excel.

Możesz wykonać następujące kroki i fragment kodu, aby przekonwertować program Excel na DataTable w języku C#:

  1. Utwórz instancję klasy Workbook.

  2. Uzyskaj odwołanie do pierwszego arkusza, wywołując metodę get(index).

  3. Ustaw nazwę arkusza, wywołując metodę setName.

  4. Wywołaj metodę getCells, aby pobrać kolekcję Cells.

  5. Pobierz element Cell o określonej nazwie komórki.

  6. Wywołaj tę metodę setValue, aby ustawić wartość zakresu.

  7. Pobierz obiekt Cell z zakresu, wywołując metodę get.

  8. Dodanie nowego arkusza poprzez wywołanie metody add.

  9. get element arkusza o określonym indeksie.

  10. Nazwij arkusz wywołując metodę setName.

  11. Dodaj tabelę przestawną do arkusza, wywołując metodę add.

  12. Wyświetl sumy końcowe ustawiając wartość metody setRowGrand.

  13. Ustaw wartość metody setColumnGrand wskazującą, czy raport w formie tabeli przestawnej przedstawia sumy końcowe kolumn.

  14. Teraz ustaw wartość metody setAutoFormat wskazującą, czy raport w formie tabeli przestawnej będzie formatowany automatycznie.

  15. Ustaw typ tabeli przestawnej autoformat, wywołując metodę setAutoFormatType.

  16. Wywołaj metodę addFieldToArea, aby przeciągnąć pierwsze, drugie, trzecie, czwarte i piąte pole do obszaru wiersza.

  17. Ustaw format liczbowy pierwszego pola danych wywołując metodę getDataFields.

  18. Zapisanie pliku Excel poprzez wywołanie metody zapisz.

Skopiuj i wklej następujący kod do swojego głównego pliku:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Utwórz instancję klasy Workbook 
var workbook = new aspose.cells.Workbook();
// Uzyskaj odwołanie do pierwszego arkusza, wywołując metodę get(index). 
var sheet = workbook.getWorksheets().get(0);
//  ustaw nazwę arkusza, wywołując metodę setName. 
sheet.setName("Data");
// Wywołaj metodę getCells, aby pobrać kolekcję Cells. 
var cells = sheet.getCells();

// Pobierz element Cell o określonej nazwie komórki. 
var cell = cells.get("A1");
// Wywołaj tę metodę, aby ustawić wartość zakresu. 
cell.setValue("Employee");
// Pobierz obiekt Cell z zakresu, wywołując metodę get.
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);


// Dodanie nowego arkusza poprzez wywołanie metody add 
var sheetIndex = workbook.getWorksheets().add();
// pobierz element Worksheet o określonym indeksie. 
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// Nazwij arkusz, wywołując metodę setName 
sheet2.setName("PivotTable");
// Pobieranie kolekcji przestawnych w arkuszu
var pivotTables = sheet2.getPivotTables();
// Dodaj tabelę przestawną do arkusza, wywołując metodę add 
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// pobierz instancję nowo dodanej tabeli przestawnej
var pivotTable = pivotTables.get(index);
// Pokaż sumy końcowe, ustawiając wartość metody setRowGrand 
pivotTable.setRowGrand(true);
// Ustaw wartość metody setColumnGrand wskazującą, czy raport w formie tabeli przestawnej przedstawia sumy końcowe kolumn.
pivotTable.setColumnGrand(true);
// Ustaw wartość metody setAutoFormat wskazującą, czy raport w formie tabeli przestawnej jest formatowany automatycznie. 
pivotTable.setAutoFormat(true);
// Ustaw typ automatycznego formatowania tabeli przestawnej, wywołując metodę setAutoFormatType 
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// Wywołaj metodę addFieldToArea, aby przeciągnąć pierwsze, drugie, trzecie, czwarte i piąte pole do obszaru wiersza. 
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);
// Ustaw format liczbowy pierwszego pola danych, wywołując metodę getDataFields 
pivotTable.getDataFields().get(0).setNumber(7);
// Zapisanie pliku Excel poprzez wywołanie metody save 
workbook.save(  "pivotTable_test.xls");

Wynik możesz zobaczyć na obrazku poniżej:

Utwórz tabelę przestawną w programie Excel przy użyciu Node.js

Jak programowo utworzyć wykres przestawny w programie Excel

Teraz zaimplementujemy funkcjonalność tworzenia wykresu przestawnego na podstawie wygenerowanej tabeli przestawnej przy użyciu tego interfejsu API JavaScript programu Excel.

Możesz wykonać kroki i fragment kodu wymieniony poniżej:

  1. Utwórz instancję klasy Workbook.
  2. Wywołaj metodę add, aby [dodać] arkusz 14 do kolekcji.
  3. get element arkusza o określonym indeksie.
  4. Nazwij arkusz, wywołując metodę setName.
  5. Dodaj wykres kolumnowy, wywołując metodę add.
  6. get element Chart o określonym indeksie.
  7. Wywołaj metodę setPivotSource, aby ustawić źródło danych wykresu przestawnego.
  8. Wywołaj metodę setHidePivotFieldButtons, aby ukryć przyciski pól wykresu przestawnego tylko wtedy, gdy wykres jest wykresem przestawnym.
  9. zapisz plik Excel.

Skopiuj i wklej następujący kod do swojego głównego pliku:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Utwórz instancję klasy Workbook 
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// Wywołaj metodę add, aby dodać arkusz do kolekcji.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// pobierz element Worksheet o określonym indeksie. 
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// Nazwij arkusz, wywołując metodę setName 
sheet3.setName("PivotChart");
// Dodaj wykres kolumnowy, wywołując metodę add 
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// pobierz element Chart o określonym indeksie. 
var chart = sheet3.getCharts().get(chartIndex);
// Wywołaj metodę setPivotSource, aby ustawić źródło danych wykresu przestawnego 
chart.setPivotSource("PivotTable!PivotTable1");
// Wywołaj metodę setHidePivotFieldButtons, aby ukryć przyciski pól wykresu przestawnego tylko wtedy, gdy wykres jest wykresem przestawnym. 
chart.setHidePivotFieldButtons(false);
// Zapisz plik Excela 
workbook.save( "pivotChart_test.xls");

Dane wyjściowe pokazano na obrazku poniżej:

Jak programowo utworzyć wykres przestawny w programie Excel

Zdobądź bezpłatną licencję

Możesz skorzystać z bezpłatnej licencji tymczasowej, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.

Podsumowując

Podczas korzystania z interfejsu API JavaScript programu Excel na poziomie przedsiębiorstwa. Ponadto nauczyłeś się, jak utworzyć tabelę przestawną w programie Excel przy użyciu programowego Node.js, a także zaimplementowaliśmy funkcję tworzenia wykresu przestawnego. Ponadto możesz odwiedzić dokumentację, aby poznać inne funkcje.

Ponadto sugerujemy skorzystanie z naszego Przewodnika wprowadzającego.

Wreszcie conholdate.com konsekwentnie pisze nowe posty na blogu. Dlatego prosimy o kontakt w celu uzyskania najnowszych aktualizacji.

Zadać pytanie

Możesz dać nam znać o swoich pytaniach lub wątpliwościach na naszym forum.

Często zadawane pytania

Jak utworzyć tabelę przestawną w programie Excel i ją edytować?

Możesz zainstalować ten JavaScript [API] programu Excel, aby programowo utworzyć tabelę przestawną w programie Excel. Ponadto możesz odwiedzić ten [link], aby uzyskać instrukcje i fragment kodu.

Zobacz też