Come creare una tabella pivot in Excel utilizzando Node.js

Come creare una tabella pivot in Excel utilizzando Node.js

La cosa migliore dei file Excel è che puoi apportare modifiche in qualsiasi fase di visualizzazione o compilazione dei dati. MS Excel è ancora in cima alla lista per l’organizzazione dei dati e l’esecuzione di calcoli complessi. In questo post del blog impareremo come creare una tabella pivot in Excel utilizzando Node.js a livello di codice. Inoltre, esamineremo anche come creare un grafico pivot in un file Excel basato su una tabella pivot. Per questo, installeremo questo JavaScript API di Excel nel nostro progetto Node.js.

Saranno trattate le seguenti sezioni:

Installazione dell’API JavaScript di Excel

Per installare questa potente libreria, devi scaricare il pacchetto API o installarlo eseguendo i seguenti comandi:

npm install java
npm install aspose.cells

Come creare una tabella pivot in Excel utilizzando Node.js

In questa sezione, scriveremo i seguenti passaggi e il frammento di codice che crea una tabella pivot in Excel a livello di codice.

È possibile seguire i seguenti passaggi e il frammento di codice per convertire Excel in DataTable in C#:

  1. Istanzia un istante della classe Workbook.
  2. Ottieni il riferimento del primo foglio di lavoro chiamando il metodo get(index).
  3. Impostare il nome del foglio di lavoro richiamando il metodo setName.
  4. Chiama il metodo getCells per ottenere la raccolta Cells.
  5. Get l’elemento Cell al nome della cella specificato.
  6. Chiama questo metodo setValue per impostare il valore dell’intervallo.
  7. Ottieni l’oggetto Cell nell’intervallo chiamando il metodo get.
  8. Aggiunta di un nuovo foglio chiamando il metodo add.
  9. get l’elemento Foglio di lavoro all’indice specificato.
  10. Assegna un nome al foglio chiamando il metodo setName.
  11. Aggiungi una tabella pivot al foglio di lavoro richiamando il metodo add.
  12. Mostra i totali generali impostando il valore del metodo setRowGrand.
  13. Impostare il valore del metodo setColumnGrand che indica se il report tabella pivot mostra i totali complessivi per le colonne.
  14. Ora, imposta il valore del metodo setAutoFormat che indica se il report della tabella pivot è formattato automaticamente.
  15. Impostare il tipo di tabella pivot autoformat richiamando il metodo setAutoFormatType.
  16. Richiamare il metodo addFieldToArea per trascinare il primo, il secondo, il terzo, il quarto e il quinto campo nell’area della riga.
  17. Impostare il formato numerico del primo campo dati chiamando il metodo getDataFields.
  18. Salvataggio del file Excel richiamando il metodo save.

Copia e incolla il seguente codice nel tuo file principale:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Istanziare un istante della classe Workbook 
var workbook = new aspose.cells.Workbook();
// Ottieni il riferimento del primo foglio di lavoro chiamando il metodo get(index). 
var sheet = workbook.getWorksheets().get(0);
//  impostare il nome del foglio di lavoro richiamando il metodo setName. 
sheet.setName("Data");
// Chiama il metodo getCells per ottenere la raccolta Cells. 
var cells = sheet.getCells();

// Ottieni l'elemento Cell al nome della cella specificato. 
var cell = cells.get("A1");
// Chiama questo metodo per impostare il valore dell'intervallo. 
cell.setValue("Employee");
// Ottieni l'oggetto Cell nell'intervallo chiamando il metodo 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);


// Aggiunta di un nuovo foglio chiamando il metodo add 
var sheetIndex = workbook.getWorksheets().add();
// ottenere l'elemento Foglio di lavoro all'indice specificato. 
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// Assegna un nome al foglio chiamando il metodo setName 
sheet2.setName("PivotTable");
// Ottenere la raccolta pivottables nel foglio
var pivotTables = sheet2.getPivotTables();
// Aggiungere una tabella pivot al foglio di lavoro richiamando il metodo add 
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// ottenere l'istanza della tabella pivot appena aggiunta
var pivotTable = pivotTables.get(index);
// Mostra i totali generali impostando il valore del metodo setRowGrand 
pivotTable.setRowGrand(true);
// Impostare il valore del metodo setColumnGrand che indica se il report di tabella pivot mostra i totali complessivi per le colonne.
pivotTable.setColumnGrand(true);
// Impostare il valore del metodo setAutoFormat che indica se il report di tabella pivot viene formattato automaticamente. 
pivotTable.setAutoFormat(true);
// Impostare il tipo di formattazione automatica della tabella pivot richiamando il metodo setAutoFormatType 
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// Richiamare il metodo addFieldToArea per trascinare il primo, il secondo, il terzo, il quarto e il quinto campo nell'area della riga. 
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);
// Imposta il formato numerico del primo campo dati chiamando il metodo getDataFields 
pivotTable.getDataFields().get(0).setNumber(7);
// Salvataggio del file Excel richiamando il metodo di salvataggio 
workbook.save(  "pivotTable_test.xls");

Potresti vedere l’output nell’immagine qui sotto:

Crea una tabella pivot in Excel usando Node.js

Come creare un grafico pivot in Excel a livello di codice

Ora implementeremo la funzionalità per creare un grafico pivot basato sulla tabella pivot generata utilizzando questa API JavaScript di Excel.

Puoi seguire i passaggi e lo snippet di codice menzionato di seguito:

  1. Istanziare un’istanza della classe Workbook.
  2. Richiama il metodo add per add un foglio di lavoro nella raccolta.
  3. get l’elemento Foglio di lavoro all’indice specificato.
  4. Assegna un nome al foglio invocando il metodo setName.
  5. Aggiungi un istogramma chiamando il metodo add.
  6. get l’elemento Chart all’indice specificato.
  7. Richiamare il metodo setPivotSource per impostare l’origine dati del grafico pivot.
  8. Chiama il metodo setHidePivotFieldButtons per nascondere i pulsanti del campo del grafico pivot solo quando il grafico è Grafico pivot.
  9. save il file Excel.

Copia e incolla il seguente codice nel tuo file principale:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Crea un'istanza della classe Workbook 
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// Richiamare il metodo add per aggiungere un foglio di lavoro alla raccolta.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// ottenere l'elemento Foglio di lavoro all'indice specificato. 
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// Assegna un nome al foglio invocando il metodo setName 
sheet3.setName("PivotChart");
// Aggiungi un istogramma chiamando il metodo add 
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// ottenere l'elemento Chart all'indice specificato. 
var chart = sheet3.getCharts().get(chartIndex);
// Richiamare il metodo setPivotSource per impostare l'origine dati del grafico pivot 
chart.setPivotSource("PivotTable!PivotTable1");
// Chiama il metodo setHidePivotFieldButtons per nascondere i pulsanti del campo del grafico pivot solo quando il grafico è Grafico pivot. 
chart.setHidePivotFieldButtons(false);
// Salva il file Excel 
workbook.save( "pivotChart_test.xls");

L’output è mostrato nell’immagine seguente:

Come creare un grafico pivot in Excel a livello di codice

Ottieni una licenza gratuita

Puoi usufruire di una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Riassumendo

Come hai passato attraverso questa API JavaScript di Excel a livello aziendale. Inoltre, hai imparato come creare una tabella pivot in Excel utilizzando Node.js a livello di codice e abbiamo anche implementato la funzionalità per creare un grafico pivot. Inoltre, puoi visitare la documentazione per conoscere le altre funzionalità.

Inoltre, ti suggeriamo di seguire la nostra Guida introduttiva.

Infine, conholdate.com scrive costantemente nuovi post sul blog. Pertanto, si prega di rimanere in contatto per gli ultimi aggiornamenti.

Fai una domanda

Puoi farci sapere le tue domande o richieste sul nostro forum.

Domande frequenti

Come si crea una tabella pivot in Excel e la si modifica?

È possibile installare questa API JavaScript di Excel per creare una tabella pivot in Excel a livello di codice. Inoltre, puoi visitare questo link per ottenere i passaggi e lo snippet di codice.

Guarda anche