Группировка полей сводной таблицы

Возможные сценарии использования

В Microsoft Excel можно группировать поля сводной таблицы. Когда имеется большое количество данных, связанных с полем сводной таблицы, часто полезно сгруппировать их по разделам. Aspose.Cells также предоставляет эту функцию с помощью метода PivotTable.SetManualGroupField().

Группировка полей сводной таблицы

Приведенный ниже образец кода загружает образец файла Excel и выполняет группировку по первому полю сводной таблицы с помощью метода PivotTable.SetManualGroupField(). Затем он обновляет и вычисляет данные сводной таблицы и сохраняет книгу Excel как выходной файл Excel. На скриншоте показан эффект образца кода на образцовый файл Excel. Как видно на скриншоте, первое поле сводной таблицы теперь сгруппировано по месяцам и кварталам.

todo:image_alt_text

Образец кода

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load sample workbook
Workbook wb = new Workbook("sampleGroupPivotFieldsInPivotTable.xlsx");
//Access the second worksheet
Worksheet ws = wb.Worksheets[1];
//Access the pivot table
PivotTable pt = ws.PivotTables[0];
//Specify the start and end date time
DateTime dtStart = new DateTime(2008, 1, 1);//1-Jan-2018
DateTime dtEnd = new DateTime(2008, 9, 5); //5-Sep-2018
//Specify the group type list, we want to group by months and quarters
PivotGroupByType[] groupTypeList = new PivotGroupByType[2];
groupTypeList[0] = PivotGroupByType.Months;
groupTypeList[1] = PivotGroupByType.Quarters;
//Apply the grouping on the pivot field
PivotField field = pt.RowFields[0];
field.GroupBy(dtStart, dtEnd, groupTypeList, 1, true);
//Refresh and calculate pivot table
pt.RefreshDataFlag = true;
pt.RefreshData();
pt.CalculateData();
pt.RefreshDataFlag = false;
//Save the output Excel file
wb.Save("outputGroupPivotFieldsInPivotTable2.xlsx");