
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
- Jak utworzyć tabelę przestawną w programie Excel przy użyciu Node.js
- Jak programowo utworzyć wykres przestawny w programie Excel
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#:
Utwórz instancję klasy Workbook.
Uzyskaj odwołanie do pierwszego arkusza, wywołując metodę get(index).
Ustaw nazwę arkusza, wywołując metodę setName.
Wywołaj metodę getCells, aby pobrać kolekcję Cells.
Pobierz element Cell o określonej nazwie komórki.
Wywołaj tę metodę setValue, aby ustawić wartość zakresu.
Pobierz obiekt Cell z zakresu, wywołując metodę get.
Dodanie nowego arkusza poprzez wywołanie metody add.
get element arkusza o określonym indeksie.
Nazwij arkusz wywołując metodę setName.
Dodaj tabelę przestawną do arkusza, wywołując metodę add.
Wyświetl sumy końcowe ustawiając wartość metody setRowGrand.
Ustaw wartość metody setColumnGrand wskazującą, czy raport w formie tabeli przestawnej przedstawia sumy końcowe kolumn.
Teraz ustaw wartość metody setAutoFormat wskazującą, czy raport w formie tabeli przestawnej będzie formatowany automatycznie.
Ustaw typ tabeli przestawnej autoformat, wywołując metodę setAutoFormatType.
Wywołaj metodę addFieldToArea, aby przeciągnąć pierwsze, drugie, trzecie, czwarte i piąte pole do obszaru wiersza.
Ustaw format liczbowy pierwszego pola danych wywołując metodę getDataFields.
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:

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:
- Utwórz instancję klasy Workbook.
- Wywołaj metodę add, aby [dodać] arkusz 14 do kolekcji.
- get element arkusza o określonym indeksie.
- Nazwij arkusz, wywołując metodę setName.
- Dodaj wykres kolumnowy, wywołując metodę add.
- get element Chart o określonym indeksie.
- Wywołaj metodę setPivotSource, aby ustawić źródło danych wykresu przestawnego.
- Wywołaj metodę setHidePivotFieldButtons, aby ukryć przyciski pól wykresu przestawnego tylko wtedy, gdy wykres jest wykresem przestawnym.
- 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:

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.