Группировка полей сводной таблицы
Возможные сценарии использования
Microsoft Excel позволяет группировать поля сводной таблицы. Когда данных по полю много, их часто удобно сгруппировать по разделам. Aspose.Cells for Node.js via C++ также предоставляет эту функцию с помощью метода PivotTable.groupBy().
Как сгруппировать поля сводной таблицы
Приведенный ниже образец кода загружает образец файла Excel и выполняет группировку по первому полю сводной таблицы с помощью метода PivotTable.groupBy(). Затем он обновляет и вычисляет данные сводной таблицы и сохраняет книгу Excel как выходной файл Excel. На скриншоте показан эффект образца кода на образцовый файл Excel. Как видно на скриншоте, первое поле сводной таблицы теперь сгруппировано по месяцам и кварталам.
Образец кода
const AsposeCells = require("aspose.cells.node"); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Load sample workbook | |
var wb = new AsposeCells.Workbook("sampleGroupPivotFieldsInPivotTable.xlsx"); | |
//Access the second worksheet | |
var ws = wb.getWorksheets().get(1); | |
//Access the pivot table | |
var pt = ws.getPivotTables().get(0); | |
//Specify the start and end date time | |
var dtStart = new Date(2008, 1, 1); | |
var dtEnd = new Date(2008, 9, 5); | |
//Specify the group type list, we want to group by months and quarters | |
var groupTypeList = [AsposeCells.PivotGroupByType.Months, AsposeCells.PivotGroupByType.Quarters]; | |
//Apply the grouping on first pivot field | |
var field = pt.getRowFields().get(0); | |
field.groupBy(dtStart, dtEnd, groupTypeList, 1, true); | |
//Refresh and calculate pivot table | |
pt.setRefreshDataFlag(true); | |
pt.refreshData(); | |
pt.calculateData(); | |
pt.setRefreshDataFlag(false); | |
//Save the output Excel file | |
wb.save("outputGroupPivotFieldsInPivotTable.xlsx"); |