Группировка полей сводной таблицы
Возможные сценарии использования
В Microsoft Excel можно группировать поля сводной таблицы. Когда имеется большое количество данных, связанных с полем сводной таблицы, часто полезно сгруппировать их по разделам. Aspose.Cells также предоставляет эту функцию с помощью метода PivotTable.SetManualGroupField().
Группировка полей сводной таблицы
Приведенный ниже образец кода загружает образец файла Excel и выполняет группировку по первому полю сводной таблицы с помощью метода PivotTable.SetManualGroupField(). Затем он обновляет и вычисляет данные сводной таблицы и сохраняет книгу Excel как выходной файл Excel. На скриншоте показан эффект образца кода на образцовый файл Excel. Как видно на скриншоте, первое поле сводной таблицы теперь сгруппировано по месяцам и кварталам.
Образец кода
// 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"); |