Как создать сводную таблицу в Excel с помощью Node.js

Как создать сводную таблицу в Excel с помощью Node.js

Лучшее в файлах Excel то, что вы можете вносить изменения на любом этапе визуализации или компиляции данных. MS Excel по-прежнему лидирует в организации данных и выполнении сложных вычислений. В этом сообщении блога мы узнаем, как программно создать сводную таблицу в Excel с помощью Node.js. Кроме того, мы также рассмотрим, как создать сводную диаграмму в файле Excel на основе сводной таблицы. Для этого мы установим этот Excel JavaScript API в нашем проекте Node.js.

Будут рассмотрены следующие разделы:

Установка JavaScript API для Excel

Чтобы установить эту мощную библиотеку, вы либо загрузите пакет API, либо установите его, выполнив следующие команды:

npm install java
npm install aspose.cells

Как создать сводную таблицу в Excel с помощью Node.js

В этом разделе мы напишем следующие шаги и фрагмент кода, который программно создает сводную таблицу в Excel.

Вы можете выполнить следующие шаги и фрагмент кода, чтобы преобразовать Excel в DataTable на C#:

  1. Создайте экземпляр класса Workbook.
  2. Получите ссылку на первый рабочий лист, вызвав метод get(index).
  3. Задайте имя рабочего листа, вызвав метод setName.
  4. Вызовите метод getCells, чтобы получить коллекцию Cells.
  5. Get элемент Cell по указанному имени ячейки.
  6. Вызовите этот метод setValue, чтобы установить значение диапазона.
  7. Получите объект Cell в диапазоне, вызвав метод get.
  8. Добавление нового листа вызовом метода add.
  9. get элемент Worksheet по указанному индексу.
  10. Назовите лист, вызвав метод setName.
  11. Добавьте на рабочий лист сводную таблицу, вызвав метод add.
  12. Показать общие итоги, установив значение метода setRowGrand.
  13. Задайте значение метода setColumnGrand, указывающее, отображаются ли в отчете сводной таблицы общие итоги по столбцам.
  14. Теперь установите значение метода setAutoFormat, которое указывает, форматируется ли отчет сводной таблицы автоматически.
  15. Задайте тип сводной таблицы autoformat, вызвав метод setAutoFormatType.
  16. Вызовите метод addFieldToArea, чтобы перетащить первое, второе, третье, четвертое и пятое поля в область строки.
  17. Установите числовой формат первого поля данных, вызвав метод getDataFields.
  18. Сохранение файла Excel вызовом метода save.

Скопируйте и вставьте следующий код в основной файл:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Создание экземпляра класса Workbook 
var workbook = new aspose.cells.Workbook();
// Получите ссылку на первый рабочий лист, вызвав метод get(index) 
var sheet = workbook.getWorksheets().get(0);
//  установите имя рабочего листа, вызвав метод setName. 
sheet.setName("Data");
// Вызовите метод getCells, чтобы получить коллекцию Cells. 
var cells = sheet.getCells();

// Получите элемент Cell по указанному имени ячейки. 
var cell = cells.get("A1");
// Вызовите этот метод, чтобы установить значение диапазона. 
cell.setValue("Employee");
// Получите объект Cell в диапазоне, вызвав метод 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);


// Добавление нового листа вызовом метода add 
var sheetIndex = workbook.getWorksheets().add();
// получить элемент Worksheet по указанному индексу. 
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// Назовите лист, вызвав метод setName. 
sheet2.setName("PivotTable");
// Получение коллекции сводных таблиц на листе
var pivotTables = sheet2.getPivotTables();
// Добавьте сводную таблицу на лист, вызвав метод add 
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// получить экземпляр недавно добавленной сводной таблицы
var pivotTable = pivotTables.get(index);
// Показать общие итоги, установив значение метода setRowGrand 
pivotTable.setRowGrand(true);
// Задайте значение метода setColumnGrand, указывающее, отображаются ли в отчете сводной таблицы общие итоги для столбцов.
pivotTable.setColumnGrand(true);
// Задайте значение метода setAutoFormat, указывающее, форматируется ли отчет сводной таблицы автоматически. 
pivotTable.setAutoFormat(true);
// Установите тип автоформата сводной таблицы, вызвав метод setAutoFormatType. 
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// Вызовите метод addFieldToArea, чтобы перетащить первое, второе, третье, четвертое и пятое поля в область строк. 
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);
// Установите числовой формат первого поля данных, вызвав метод getDataFields 
pivotTable.getDataFields().get(0).setNumber(7);
// Сохранение файла Excel с помощью метода сохранения 
workbook.save(  "pivotTable_test.xls");

Вы можете увидеть результат на изображении ниже:

Создайте сводную таблицу в Excel с помощью Node.js

Как сделать сводную диаграмму в Excel программно

Теперь мы реализуем функциональность для создания сводной диаграммы на основе сгенерированной сводной таблицы с использованием этого API JavaScript для Excel.

Вы можете выполнить шаги и фрагмент кода, указанные ниже:

  1. Создайте экземпляр класса Workbook.
  2. Вызовите метод добавления, чтобы add рабочий лист в коллекцию.
  3. get элемент Worksheet по указанному индексу.
  4. Назовите лист, вызвав метод setName.
  5. Добавьте столбчатую диаграмму, вызвав метод add.
  6. get элемент диаграммы по указанному индексу.
  7. Вызовите метод setPivotSource, чтобы установить источник данных сводной диаграммы.
  8. Вызовите метод setHidePivotFieldButtons, чтобы либо скрыть кнопки поля сводной диаграммы, только если диаграмма является сводной диаграммой.
  9. save файл Excel.

Скопируйте и вставьте следующий код в основной файл:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Создайте экземпляр класса Workbook 
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// Вызовите метод add, чтобы добавить рабочий лист в коллекцию.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// получить элемент Worksheet по указанному индексу. 
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// Назовите лист, вызвав метод setName 
sheet3.setName("PivotChart");
// Добавьте столбчатую диаграмму, вызвав метод add 
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// получить элемент Chart по указанному индексу. 
var chart = sheet3.getCharts().get(chartIndex);
// Вызовите метод setPivotSource, чтобы установить источник данных сводной диаграммы. 
chart.setPivotSource("PivotTable!PivotTable1");
// Вызовите метод setHidePivotFieldButtons, чтобы либо скрыть кнопки поля сводной диаграммы, только если диаграмма является сводной диаграммой. 
chart.setHidePivotFieldButtons(false);
// Сохраните файл Excel 
workbook.save( "pivotChart_test.xls");

Результат показан на изображении ниже:

Как сделать сводную диаграмму в Excel программно

Получить бесплатную лицензию

Вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать API без ограничений на пробную версию.

Подведение итогов

Как вы прошли через этот API JavaScript для Excel корпоративного уровня. Кроме того, вы узнали, как программно создать сводную таблицу в Excel с помощью Node.js, а также мы реализовали функциональность для создания сводной диаграммы. Кроме того, вы можете посетить документацию, чтобы узнать о других функциях.

Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.

Наконец, conholdate.com постоянно пишет новые сообщения в блог. Поэтому, пожалуйста, оставайтесь на связи для получения последних обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Часто задаваемые вопросы

Как создать сводную таблицу в Excel и отредактировать ее?

Вы можете установить этот Excel JavaScript API для создания сводной таблицы в Excel программным путем. Кроме того, вы можете посетить эту ссылка, чтобы получить инструкции и фрагмент кода.

Смотрите также