PivotTable

PivotTable class

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

public class PivotTable : IDisposable

Характеристики

ИмяОписание
AltTextDescription { get; set; }Получает описание альтернативного текста
AltTextTitle { get; set; }Получает заголовок альтертекста
AutoFormatType { get; set; }Получает тип автоматического формата сводной таблицы.
BaseFields { get; }Возвращает объект PivotFields, включающий все поля сводной таблицы report
ColumnFields { get; }Возвращает объект PivotFields, который в данный момент отображается как поля столбца.
ColumnGrand { get; set; }Указывает, отображаются ли в отчете сводной таблицы общие итоги для столбцов.
ColumnHeaderCaption { get; set; }Получает заголовок заголовка столбца сводной таблицы.
ColumnRange { get; }Возвращает объект CellArea, представляющий диапазон , который содержит область столбца в отчете сводной таблицы. Только для чтения.
CustomListSort { get; set; }Указывает, следует ли учитывать встроенный настраиваемый список при сортировке data
DataBodyRange { get; }Возвращает объект CellArea, представляющий диапазон, содержащий область данных area в списке между строкой заголовка и строкой вставки. Только для чтения.
DataField { get; }Получает объект PivotField, который представляет все поля данных в сводной таблице. Только для чтения. Он будет инициализирован, только если в DataPiovtFiels есть два или более полей данных. Он используется только для добавления DataPivotField в строку или столбец сводной таблицы. область . По умолчанию находится в области строки.
DataFields { get; }Получает объект PivotField, который представляет все поля данных в сводной таблице. Только для чтения. Он будет инициализирован, только если в DataPiovtFiels есть два или более полей данных. Он используется только для добавления DataPivotField в строку или столбец сводной таблицы. область . По умолчанию находится в области строки.
DataSource { get; set; }Получает и задает источник данных сводной таблицы.
DisplayErrorString { get; set; }Указывает, отображает ли отчет сводной таблицы пользовательскую строку в ячейках, содержащих ошибки.
DisplayImmediateItems { get; set; }Указывает, видны ли элементы в области строк и столбцов , когда область данных сводной таблицы пуста. Значение по умолчанию — true.
DisplayNullString { get; set; }Указывает, отображает ли отчет сводной таблицы настраиваемую строку в ячейках, содержащих нулевые значения.
EnableDataValueEditing { get; set; }Задает логическое значение, указывающее, разрешено ли пользователю редактировать ячейки в области данных сводной таблицы. Включить редактирование ячеек в области значений
EnableDrilldown { get; set; }Указывает, включена ли развертка.
EnableFieldDialog { get; set; }Указывает, доступно ли диалоговое окно поля сводной таблицы , когда пользователь дважды щелкает поле сводной таблицы.
EnableFieldList { get; set; }Получает, включен ли список полей для сводной таблицы.
EnableWizard { get; set; }Указывает, доступен ли мастер сводных таблиц.
ErrorString { get; set; }Получает строку, отображаемую в ячейках, содержащих ошибки , когда свойство DisplayErrorString имеет значение true. Значение по умолчанию — пустая строка.
ExternalConnectionDataSource { get; }Получает внешний источник данных подключения.
FieldListSortAscending { get; set; }Указывает логическое значение, указывающее, сортируются ли поля в сводной таблице в порядке, отличном от порядка по умолчанию в списке полей.
GrandTotalName { get; set; }Возвращает метку текстовой строки, отображаемую в заголовке столбца или строки общего итога. Значением по умолчанию является строка “Общий итог”.
HasBlankRows { get; set; }Указывает, следует ли добавлять пустые строки. Это свойство применяется только к типам автоматического форматирования сводных таблиц, которым необходимо добавлять пустые строки.
Indent { get; set; }Задает приращение отступа для компактной оси и может использоваться для установки макета отчета в компактную форму.
IsAutoFormat { get; set; }Указывает, форматируется ли автоматически сводная таблица.
IsExcel2003Compatible { get; set; }Указывает, совместима ли сводная таблица с Excel2003 при обновлении сводной таблицы, если true, строка должна быть меньше или равна 255 символам, поэтому, если строка больше 255 символов, она будет усечена. если false, строка не будет иметь вышеупомянутого ограничения. Значение по умолчанию — true.
IsGridDropZones { get; set; }Указывает, отображает ли отчет сводной таблицы классический макет сводной таблицы. (позволяет перетаскивать поля в сетке)
IsMultipleFieldFilters { get; set; }Задает логическое значение, указывающее, могут ли поля сводной таблицы иметь несколько фильтров.
IsSelected { get; set; }Указывает, выбрана ли сводная таблица.
ItemPrintTitles { get; set; }Бит, указывающий, повторяются ли заголовки элементов сводки на строке axis на каждой печатной странице для полей сводки в табличной форме.
ManualUpdate { get; set; }Указывает, пересчитывается ли отчет сводной таблицы только по запросу пользователя.
MergeLabels { get; set; }Указывает, используют ли объединенные ячейки элемент внешней строки, элемент столбца, промежуточный итог, и общий итог указанного отчета сводной таблицы.
MissingItemsLimit { get; set; }Задает логическое значение, указывающее, могут ли поля сводной таблицы иметь несколько фильтров.
Name { get; set; }Получает имя сводной таблицы
NullString { get; set; }Получает строку, отображаемую в ячейках, содержащих нулевые значения , когда свойство DisplayNullString имеет значение true. Значение по умолчанию — пустая строка.
PageFieldOrder { get; set; }Получает порядок, в котором поля страницы добавляются в макет отчета сводной таблицы.
PageFields { get; }Возвращает объект PivotFields, который в данный момент отображается как поля страницы.
PageFieldWrapCount { get; set; }Получает количество полей страницы в каждом столбце или строке отчета сводной таблицы.
PivotFilters { get; }Возвращает объект PivotFilterCollection.
PivotFormatConditions { get; }Получает условия формата сводной таблицы.
PivotTableStyleName { get; set; }Получает и задает имя стиля сводной таблицы.
PivotTableStyleType { get; set; }Получает и задает встроенный стиль сводной таблицы.
PreserveFormatting { get; set; }Указывает, сохраняется ли форматирование при обновлении или пересчете сводной таблицы.
PrintDrill { get; set; }Задает логическое значение, указывающее, следует ли печатать индикаторы детализации. печатать кнопки развертывания/свертывания при отображении в сводной таблице.
PrintTitles { get; set; }Указывает, установлены ли заголовки печати для рабочего листа на основе в отчете сводной таблицы. Значение по умолчанию — false.
RefreshDataFlag { get; set; }Указывает, нужно ли обновлять данные или нет.
RefreshDataOnOpeningFile { get; set; }Указывает, следует ли обновлять данные при открытии файла.
RefreshDate { get; }Получает дату последнего обновления сводной таблицы.
RefreshedByWho { get; }Получает имя пользователя, который последний раз обновлял сводную таблицу
RowFields { get; }Возвращает объект PivotFields, который в данный момент отображается как поля строки.
RowGrand { get; set; }Указывает, отображаются ли в отчете сводной таблицы общие итоги для строк.
RowHeaderCaption { get; set; }Получает заголовок строки сводной таблицы.
RowRange { get; }Возвращает объект CellArea, представляющий диапазон , содержащий область строки в отчете сводной таблицы. Только для чтения.
SaveData { get; set; }Указывает, сохраняются ли данные для отчета сводной таблицы вместе с книгой.
ShowDataTips { get; set; }Указывает логическое значение, указывающее, должны ли отображаться всплывающие подсказки для ячеек данных сводной таблицы.
ShowDrill { get; set; }Получает, отображаются ли кнопки развертывания/свертывания.
ShowEmptyCol { get; set; }Указывает логическое значение, указывающее, следует ли включать пустые столбцы в таблицу
ShowEmptyRow { get; set; }Задает логическое значение, указывающее, следует ли включать пустые строки в таблицу.
ShowMemberPropertyTips { get; set; }Задает логическое значение, указывающее, следует ли исключить информацию о свойствах элементов из всплывающих подсказок сводной таблицы.
ShowPivotStyleColumnHeader { get; set; }Указывает, следует ли применять стиль к заголовку столбца в сводной таблице.
ShowPivotStyleColumnStripes { get; set; }Указывает, применяется ли форматирование полос столбцов.
ShowPivotStyleLastColumn { get; set; }Указывает, применяется ли форматирование полос столбцов.
ShowPivotStyleRowHeader { get; set; }Указывает, следует ли применять стиль к заголовку строки в сводной таблице.
ShowPivotStyleRowStripes { get; set; }Указывает, применяется ли форматирование чередования строк.
ShowRowHeaderCaption { get; set; }Указывает, отображаются ли заголовки заголовков строк в отчете сводной таблицы Указывает, отображаются ли заголовки полей и раскрывающиеся списки фильтров
ShowValuesRow { get; set; }Задает логическое значение, указывающее, следует ли отображать значения row. отображать значения row
SubtotalHiddenPageItems { get; set; }Указывает, включены ли элементы поля скрытой страницы в сводной таблице report в промежуточные итоги по строкам и столбцам, итоги по блокам и общие итоги. Значение по умолчанию — False.
TableRange1 { get; }Возвращает объект CellArea, представляющий диапазон, содержащий весь отчет сводной таблицы, , но не включающий поля страницы. Только для чтения.
TableRange2 { get; }Возвращает объект CellArea, представляющий диапазон, содержащий весь отчет сводной таблицы, включает поля страницы. Только для чтения.
Tag { get; set; }Получает строку, сохраненную в отчете сводной таблицы.

Методы

ИмяОписание
AddCalculatedField(string, string)Добавляет вычисляемое поле в сводное поле и перетаскивает его в область данных.
AddCalculatedField(string, string, bool)Добавляет вычисляемое поле в сводное поле.
AddFieldToArea(PivotFieldType, int)Добавляет поле в указанную область.
AddFieldToArea(PivotFieldType, PivotField)Добавляет поле в указанную область.
AddFieldToArea(PivotFieldType, string)Добавляет поле в указанную область.
CalculateData()Вычисляет данные сводной таблицы в ячейки.
CalculateRange()Вычисляет диапазон сводной таблицы.
ChangeDataSource(string[])Установить исходные данные сводной таблицы. Sheet1!$A$1:$C$3
ClearData()Очистить данные и форматирование сводной таблицы
CopyStyle(PivotTable)Копирует именованный стиль из другой сводной таблицы.
Dispose()Выполняет определяемые приложением задачи, связанные с освобождением, высвобождением или сбросом неуправляемых ресурсов.
Fields(PivotFieldType)Получает определенные поля по типу поля.
Format(int, int, Style)Отформатировать ячейку в области сводной таблицы
FormatAll(Style)Отформатировать все ячейки в области сводной таблицы
FormatRow(int, Style)Отформатировать данные строки в области сводной таблицы
GetCellByDisplayName(string)Получает объект Cell по отображаемому имени PivotField
GetChildren()Получает дочерние сводные таблицы, которые используют данные этой сводной таблицы в качестве источника данных.
GetHorizontalBreaks()получить список индексов строк сводной таблицы горизонтальных разрывов страниц
GetSource()Получить исходные данные сводной таблицы.
Move(string)Перемещает сводную таблицу в другое место на листе.
Move(int, int)Перемещает сводную таблицу в другое место на листе.
RefreshData()Обновляет данные и настройки сводной таблицы из ее источника данных.
RemoveField(PivotFieldType, int)Удаляет поле из определенного поля area
RemoveField(PivotFieldType, PivotField)Удалить поле из определенного поля area
RemoveField(PivotFieldType, string)Удаляет поле из определенного поля area
SetAutoGroupField(int)Устанавливает группу автоматических полей сводной таблицы.
SetAutoGroupField(PivotField)Устанавливает группу автоматических полей сводной таблицы.
SetManualGroupField(int, DateTime, DateTime, ArrayList, int)Устанавливает группу полей вручную сводной таблицей.
SetManualGroupField(int, double, double, ArrayList, double)Устанавливает группу полей вручную сводной таблицей.
SetManualGroupField(PivotField, DateTime, DateTime, ArrayList, int)Устанавливает группу полей вручную сводной таблицей.
SetManualGroupField(PivotField, double, double, ArrayList, double)Устанавливает группу полей вручную сводной таблицей.
SetUngroup(int)Устанавливает разгруппировку по сводной таблице
SetUngroup(PivotField)Устанавливает разгруппировку по сводной таблице
ShowInCompactForm()Макет сводной таблицы в компактной форме.
ShowInOutlineForm()Макет сводной таблицы в виде схемы.
ShowInTabularForm()Макет сводной таблицы в табличной форме.
ShowReportFilterPage(PivotField)Показать все страницы фильтра отчета в соответствии с PivotField, PivotField должен находиться в PageFields.
ShowReportFilterPageByIndex(int)Показать все страницы фильтра отчета в соответствии с индексом позиции в PageFields
ShowReportFilterPageByName(string)Показать все страницы фильтра отчета в соответствии с именем PivotField, PivotField должен находиться в PageFields.

Примеры


[C#]

Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
Cells cells = sheet.Cells;
cells[0, 0].Value = "fruit";
cells[1, 0].Value = "grape";
cells[2, 0].Value = "blueberry";
cells[3, 0].Value = "kiwi";
cells[4, 0].Value = "cherry";
cells[5, 0].Value = "grape";
cells[6, 0].Value = "blueberry";
cells[7, 0].Value = "kiwi";
cells[8, 0].Value = "cherry";

cells[0, 1].Value = "year";
cells[1, 1].Value = 2020;
cells[2, 1].Value = 2020;
cells[3, 1].Value = 2020;
cells[4, 1].Value = 2020;
cells[5, 1].Value = 2021;
cells[6, 1].Value = 2021;
cells[7, 1].Value = 2021;
cells[8, 1].Value = 2021;

cells[0, 2].Value = "amount";
cells[1, 2].Value = 50;
cells[2, 2].Value = 60;
cells[3, 2].Value = 70;
cells[4, 2].Value = 80;
cells[5, 2].Value = 90;
cells[6, 2].Value = 100;
cells[7, 2].Value = 110;
cells[8, 2].Value = 120;

PivotTableCollection pivots = sheet.PivotTables;

int pivotIndex = pivots.Add("=Sheet1!A1:C9", "A12", "TestPivotTable");
PivotTable pivot = pivots[pivotIndex];
pivot.AddFieldToArea(PivotFieldType.Row, "fruit");
pivot.AddFieldToArea(PivotFieldType.Column, "year");
pivot.AddFieldToArea(PivotFieldType.Data, "amount");

pivot.PivotTableStyleType = PivotTableStyleType.PivotTableStyleMedium10;

//Изменяем атрибуты PivotField
PivotField rowField = pivot.RowFields[0];
rowField.DisplayName = "custom display name";

//Добавить сводной фильтр
int index = pivot.PivotFilters.Add(0, PivotFilterType.Count);
PivotFilter filter = pivot.PivotFilters[index];
filter.AutoFilter.FilterTop10(0, false, false, 2);

//Добавить PivotFormatCondition
int formatIndex = pivot.PivotFormatConditions.Add();
PivotFormatCondition pfc = pivot.PivotFormatConditions[formatIndex];
FormatConditionCollection fcc = pfc.FormatConditions;
fcc.AddArea(pivot.DataBodyRange);
int idx = fcc.AddCondition(FormatConditionType.CellValue);
FormatCondition fc = fcc[idx];
fc.Formula1 = "100";
fc.Operator = OperatorType.GreaterOrEqual;
fc.Style.BackgroundColor = Color.Red;

pivot.RefreshData();
pivot.CalculateData();

//делай свое дело

book.Save("out.xlsx");

[Visual Basic]

Dim book As Workbook = New Workbook()
Dim sheet As Worksheet = book.Worksheets(0)
Dim cells As Cells = sheet.Cells

cells(0, 0).Value = "fruit"
cells(1, 0).Value = "grape"
cells(2, 0).Value = "blueberry"
cells(3, 0).Value = "kiwi"
cells(4, 0).Value = "cherry"
cells(5, 0).Value = "grape"
cells(6, 0).Value = "blueberry"
cells(7, 0).Value = "kiwi"
cells(8, 0).Value = "cherry"

cells(0, 1).Value = "year"
cells(1, 1).Value = 2020
cells(2, 1).Value = 2020
cells(3, 1).Value = 2020
cells(4, 1).Value = 2020
cells(5, 1).Value = 2021
cells(6, 1).Value = 2021
cells(7, 1).Value = 2021
cells(8, 1).Value = 2021

cells(0, 2).Value = "amount"
cells(1, 2).Value = 50
cells(2, 2).Value = 60
cells(3, 2).Value = 70
cells(4, 2).Value = 80
cells(5, 2).Value = 90
cells(6, 2).Value = 100
cells(7, 2).Value = 110
cells(8, 2).Value = 120

Dim pivots As PivotTableCollection = sheet.PivotTables
Dim pivotIndex As Int32 = pivots.Add("=Sheet1!A1:C9", "A12", "TestPivotTable")
Dim pivot As PivotTable = pivots(pivotIndex)
pivot.AddFieldToArea(PivotFieldType.Row, "fruit")
Pivot.AddFieldToArea(PivotFieldType.Column, "year")
Pivot.AddFieldToArea(PivotFieldType.Data, "amount")

pivot.PivotTableStyleType = PivotTableStyleType.PivotTableStyleMedium10

'Change PivotField's attributes
Dim rowField As PivotField = pivot.RowFields(0)
rowField.DisplayName = "custom display name"

'Добавить сводной фильтр
Dim filterIndex As Int32 = pivot.PivotFilters.Add(0, PivotFilterType.Count)
Dim filter As PivotFilter = pivot.PivotFilters(filterIndex)
filter.AutoFilter.FilterTop10(0, False, False, 2)

'Добавить PivotFormatCondition
Dim formatIndex As Int32 = pivot.PivotFormatConditions.Add()
Dim pfc As PivotFormatCondition = pivot.PivotFormatConditions(formatIndex)
Dim fcc As FormatConditionCollection = pfc.FormatConditions
fcc.AddArea(pivot.DataBodyRange)
Dim idx As Int32 = fcc.AddCondition(FormatConditionType.CellValue)
Dim fc As FormatCondition = fcc(idx)
fc.Formula1 = "100"
fc.Operator = OperatorType.GreaterOrEqual
fc.Style.BackgroundColor = Color.Red

pivot.RefreshData()
pivot.CalculateData()

book.Save("out_vb.xlsx")

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