PivotTable

PivotTable class

Description sommaire du tableau croisé dynamique.

public class PivotTable : IDisposable

Propriétés

NomLa description
AltTextDescription { get; set; }Obtient la description du texte alternatif
AltTextTitle { get; set; }Obtient le titre de l’altertext
AutoFormatType { get; set; }Obtient le type de format automatique du tableau croisé dynamique.
BaseFields { get; }Renvoie un objet PivotFields qui inclut tous les champs du rapport de tableau croisé dynamique
ColumnFields { get; }Renvoie un objet PivotFields actuellement affiché sous forme de champs de colonne.
ColumnGrand { get; set; }Indique si le rapport de tableau croisé dynamique affiche les totaux généraux pour les colonnes.
ColumnHeaderCaption { get; set; }Obtient la légende de l’en-tête de colonne du tableau croisé dynamique.
ColumnRange { get; }Renvoie un objet CellArea qui représente la plage qui contient la zone de colonne dans le rapport de tableau croisé dynamique. Lecture seule.
CustomListSort { get; set; }Indique si la liste personnalisée intégrée doit être prise en compte lors du tri des données
DataBodyRange { get; }Renvoie un objet CellArea qui représente la plage contenant la zone de données dans la liste entre la ligne d’en-tête et la ligne d’insertion. Lecture seule.
DataField { get; }Obtient un objet PivotField qui représente tous les champs de données d’un tableau croisé dynamique. En lecture seule. Il ne serait init que lorsqu’il y a deux champs de données ou plus dans les DataPiovtFiels. Il sert uniquement à ajouter DataPivotField à la ligne/colonne du tableau croisé dynamique Région . La valeur par défaut est dans la zone de ligne.
DataFields { get; }Obtient un objet PivotField qui représente tous les champs de données d’un tableau croisé dynamique. En lecture seule. Il ne serait init que lorsqu’il y a deux champs de données ou plus dans les DataPiovtFiels. Il sert uniquement à ajouter DataPivotField à la ligne/colonne du tableau croisé dynamique Région . La valeur par défaut est dans la zone de ligne.
DataSource { get; set; }Obtient et définit la source de données du tableau croisé dynamique.
DisplayErrorString { get; set; }Indique si le rapport de tableau croisé dynamique affiche une chaîne personnalisée dans les cellules contenant des erreurs.
DisplayImmediateItems { get; set; }Indique si les éléments des zones de ligne et de colonne sont visibles lorsque la zone de données du tableau croisé dynamique est vide. La valeur par défaut est true.
DisplayNullString { get; set; }Indique si le rapport de tableau croisé dynamique affiche une chaîne personnalisée dans les cellules contenant des valeurs nulles.
EnableDataValueEditing { get; set; }Spécifie une valeur booléenne qui indique si l’utilisateur est autorisé à modifier les cellules dans la zone de données du tableau croisé dynamique. Activer la modification des cellules dans la zone de valeurs
EnableDrilldown { get; set; }Obtient si l’exploration est activée.
EnableFieldDialog { get; set; }Indique si la boîte de dialogue Champ de tableau croisé dynamique est disponible lorsque l’utilisateur double-clique sur le champ de tableau croisé dynamique.
EnableFieldList { get; set; }Obtient si activer la liste des champs pour le tableau croisé dynamique.
EnableWizard { get; set; }Indique si l’assistant de tableau croisé dynamique est disponible.
ErrorString { get; set; }Obtient la chaîne affichée dans les cellules contenant des erreurs lorsque la propriété DisplayErrorString est vraie. La valeur par défaut est une chaîne vide.
ExternalConnectionDataSource { get; }Obtient la source de données de connexion externe.
FieldListSortAscending { get; set; }Spécifie une valeur booléenne qui indique si les champs du tableau croisé dynamique sont triés dans un ordre autre que celui par défaut dans la liste des champs.
GrandTotalName { get; set; }Renvoie l’étiquette de la chaîne de texte qui s’affiche dans l’en-tête de colonne ou de ligne du total général. La valeur par défaut est la chaîne « Total général ».
HasBlankRows { get; set; }Indique s’il faut ajouter des lignes vides. Cette propriété s’applique uniquement aux types de format automatique de tableau croisé dynamique qui doivent ajouter des lignes vides.
Indent { get; set; }Spécifie l’incrément d’indentation pour l’axe compact et peut être utilisé pour définir la mise en page du rapport sur forme compacte.
IsAutoFormat { get; set; }Indique si le rapport de tableau croisé dynamique est formaté automatiquement. Case à cocher “tableau de mise en forme automatique” qui est dans l’option de tableau croisé dynamique pour Excel 2003 Case à cocher “largeur de colonne d’ajustement automatique lors de la mise à jour” qui est dans le tableau croisé dynamique Options :Format de mise en page pour Excel 2007
IsExcel2003Compatible { get; set; }Spécifie si le tableau croisé dynamique est compatible avec Excel2003 lors de l’actualisation du tableau croisé dynamique, si vrai, une chaîne doit être inférieure ou égale à 255 caractères, donc si la chaîne est supérieure à 255 caractères, elle sera tronquée. si false, une chaîne n’aura pas la restriction susmentionnée. La valeur par défaut est true.
IsGridDropZones { get; set; }Indique si le rapport de tableau croisé dynamique affiche une disposition de tableau croisé dynamique classique. (permet de faire glisser des champs dans la grille)
IsMultipleFieldFilters { get; set; }Spécifie une valeur booléenne qui indique si les champs d’un tableau croisé dynamique peuvent avoir plusieurs filtres définis sur eux.
IsSelected { get; set; }Indique si le tableau croisé dynamique est sélectionné.
ItemPrintTitles { get; set; }Un bit qui spécifie si les légendes des éléments de pivot sur l’axe de ligne sont répétées sur chaque page imprimée pour les champs de pivot sous forme de tableau.
ManualUpdate { get; set; }Indique si le rapport de tableau croisé dynamique est recalculé uniquement à la demande de l’utilisateur.
MergeLabels { get; set; }Indique si l’élément de ligne externe, l’élément de colonne, le sous-total, et les étiquettes de total général du rapport de tableau croisé dynamique spécifié utilisent des cellules fusionnées.
MissingItemsLimit { get; set; }Spécifie une valeur booléenne qui indique si les champs d’un tableau croisé dynamique peuvent avoir plusieurs filtres définis sur eux.
Name { get; set; }Obtient le nom du tableau croisé dynamique
NullString { get; set; }Obtient la chaîne affichée dans les cellules qui contiennent des valeurs nulles lorsque la propriété DisplayNullString est vraie. La valeur par défaut est une chaîne vide.
PageFieldOrder { get; set; }Obtient l’ordre dans lequel les champs de page sont ajoutés à la disposition du rapport de tableau croisé dynamique.
PageFields { get; }Renvoie un objet PivotFields actuellement affiché sous forme de champs de page.
PageFieldWrapCount { get; set; }Obtient le nombre de champs de page dans chaque colonne ou ligne du rapport de tableau croisé dynamique.
PivotFilters { get; }Renvoie un objet PivotFilterCollection.
PivotFormatConditions { get; }Obtient les conditions de format du tableau croisé dynamique.
PivotTableStyleName { get; set; }Obtient et définit le nom du style de tableau croisé dynamique.
PivotTableStyleType { get; set; }Obtient et définit le style de tableau croisé dynamique intégré.
PreserveFormatting { get; set; }Indique si la mise en forme est conservée lorsque le tableau croisé dynamique est actualisé ou recalculé.
PrintDrill { get; set; }Spécifie une valeur booléenne qui indique si les indicateurs d’exploration doivent être imprimés. imprimer les boutons de développement/réduction lorsqu’ils sont affichés sur le tableau croisé dynamique.
PrintTitles { get; set; }Indique si les titres d’impression de la feuille de calcul sont définis en fonction de sur le rapport de tableau croisé dynamique. La valeur par défaut est false.
RefreshDataFlag { get; set; }Indique si Actualiser les données ou non.
RefreshDataOnOpeningFile { get; set; }Indique si Actualiser les données lors de l’ouverture du fichier.
RefreshDate { get; }Obtient la date à laquelle le tableau croisé dynamique a été actualisé pour la dernière fois.
RefreshedByWho { get; }Obtient le nom de l’utilisateur qui a actualisé le tableau croisé dynamique pour la dernière fois
RowFields { get; }Renvoie un objet PivotFields actuellement affiché sous forme de champs de ligne.
RowGrand { get; set; }Indique si le rapport de tableau croisé dynamique affiche les totaux généraux pour les lignes.
RowHeaderCaption { get; set; }Obtient la légende d’en-tête de ligne du tableau croisé dynamique.
RowRange { get; }Renvoie un objet CellArea qui représente la plage qui contient la zone de ligne dans le rapport de tableau croisé dynamique. Lecture seule.
SaveData { get; set; }Indique si les données du rapport de tableau croisé dynamique sont enregistrées avec le classeur.
ShowDataTips { get; set; }Spécifie une valeur booléenne qui indique si les info-bulles doivent être affichées pour les cellules de données de tableau croisé dynamique.
ShowDrill { get; set; }Obtient si les boutons développer/réduire sont affichés.
ShowEmptyCol { get; set; }Spécifie une valeur booléenne qui indique s’il faut inclure des colonnes vides dans la table
ShowEmptyRow { get; set; }Spécifie une valeur booléenne qui indique s’il faut inclure des lignes vides dans la table.
ShowMemberPropertyTips { get; set; }Spécifie une valeur booléenne qui indique si les informations de propriété de membre doivent être omises des info-bulles de tableau croisé dynamique.
ShowPivotStyleColumnHeader { get; set; }Indique si l’en-tête de colonne dans le tableau croisé dynamique doit avoir le style appliqué.
ShowPivotStyleColumnStripes { get; set; }Indique si le format de bande de colonne est appliqué.
ShowPivotStyleLastColumn { get; set; }Indique si le format de bande de colonne est appliqué.
ShowPivotStyleRowHeader { get; set; }Indique si l’en-tête de ligne dans le tableau croisé dynamique doit avoir le style appliqué.
ShowPivotStyleRowStripes { get; set; }Indique si la mise en forme des bandes de lignes est appliquée.
ShowRowHeaderCaption { get; set; }Indique si la légende de l’en-tête de ligne est affichée dans le rapport de tableau croisé dynamique Indique si Afficher les légendes des champs et les listes déroulantes des filtres
ShowValuesRow { get; set; }Spécifie une valeur booléenne qui indique si afficher les valeurs row. afficher les valeurs row
SubtotalHiddenPageItems { get; set; }Indique si les éléments de champ de page masqués dans le rapport de tableau croisé dynamique sont inclus dans les sous-totaux de ligne et de colonne, les totaux de bloc et les totaux généraux. La valeur par défaut est False.
TableRange1 { get; }Renvoie un objet CellArea qui représente la plage contenant l’intégralité du rapport de tableau croisé dynamique, mais n’inclut pas les champs de page. Lecture seule.
TableRange2 { get; }Renvoie un objet CellArea qui représente la plage contenant l’intégralité du rapport de tableau croisé dynamique, inclut les champs de page. Lecture seule.
Tag { get; set; }Obtient une chaîne enregistrée avec le rapport de tableau croisé dynamique.

Méthodes

NomLa description
AddCalculatedField(string, string)Ajoute un champ calculé au champ pivot et le fait glisser vers la zone de données.
AddCalculatedField(string, string, bool)Ajoute un champ calculé au champ pivot.
AddFieldToArea(PivotFieldType, int)Ajoute le champ à la zone spécifique.
AddFieldToArea(PivotFieldType, PivotField)Ajoute le champ à la zone spécifique.
AddFieldToArea(PivotFieldType, string)Ajoute le champ à la zone spécifique.
CalculateData()Calcule les données du tableau croisé dynamique en cellules.
CalculateRange()Calcule la plage du tableau croisé dynamique.
ChangeDataSource(string[])Définir les données source du tableau croisé dynamique. Sheet1 !$A$1 :$C$3
ClearData()Effacer les données et la mise en forme du tableau croisé dynamique
CopyStyle(PivotTable)Copie le style nommé d’un autre tableau croisé dynamique.
Dispose()Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation des ressources non gérées.
Fields(PivotFieldType)Obtient les champs spécifiques par le type de champ.
Format(int, int, Style)Formater la cellule dans la zone de tableau croisé dynamique
FormatAll(Style)Formater toutes les cellules de la zone de tableau croisé dynamique
FormatRow(int, Style)Formater les données de ligne dans la zone de tableau croisé dynamique
GetCellByDisplayName(string)Obtient l’objet Cell par le DisplayName de PivotField
GetChildren()Obtient les tableaux croisés dynamiques enfants qui utilisent ces données de tableau croisé dynamique comme source de données.
GetHorizontalBreaks()obtenir la liste d’index des lignes du tableau croisé dynamique des sauts de page horizontaux
GetSource()Obtenir les données source du tableau croisé dynamique.
Move(string)Déplace le tableau croisé dynamique vers un autre emplacement dans la feuille de calcul.
Move(int, int)Déplace le tableau croisé dynamique vers un autre emplacement dans la feuille de calcul.
RefreshData()Actualise les données et les paramètres du tableau croisé dynamique à partir de sa source de données.
RemoveField(PivotFieldType, int)Supprime un champ d’une zone de champ spécifique
RemoveField(PivotFieldType, PivotField)Supprimer le champ d’une zone de champ spécifique
RemoveField(PivotFieldType, string)Supprime un champ d’une zone de champ spécifique
SetAutoGroupField(int)Définit le groupe de champs automatique par le tableau croisé dynamique.
SetAutoGroupField(PivotField)Définit le groupe de champs automatique par le tableau croisé dynamique.
SetManualGroupField(int, DateTime, DateTime, ArrayList, int)Définit le groupe de champs manuels par le tableau croisé dynamique.
SetManualGroupField(int, double, double, ArrayList, double)Définit le groupe de champs manuels par le tableau croisé dynamique.
SetManualGroupField(PivotField, DateTime, DateTime, ArrayList, int)Définit le groupe de champs manuels par le tableau croisé dynamique.
SetManualGroupField(PivotField, double, double, ArrayList, double)Définit le groupe de champs manuels par le tableau croisé dynamique.
SetUngroup(int)Ensembles dégroupés par le tableau croisé dynamique
SetUngroup(PivotField)Ensembles dégroupés par le tableau croisé dynamique
ShowInCompactForm()Présente le tableau croisé dynamique sous forme compacte.
ShowInOutlineForm()Présente le tableau croisé dynamique sous forme de plan.
ShowInTabularForm()Présente le tableau croisé dynamique sous forme de tableau.
ShowReportFilterPage(PivotField)Afficher toutes les pages de filtre de rapport selon PivotField, le PivotField doit être situé dans PageFields.
ShowReportFilterPageByIndex(int)Afficher toutes les pages de filtre de rapport en fonction de l’index de position dans PageFields
ShowReportFilterPageByName(string)Afficher toutes les pages de filtre de rapport en fonction du nom de PivotField, le PivotField doit être situé dans PageFields.

Exemples


[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;

//Modifier les attributs de PivotField
PivotField rowField = pivot.RowFields[0];
rowField.DisplayName = "custom display name";

//Ajouter un filtre croisé dynamique
int index = pivot.PivotFilters.Add(0, PivotFilterType.Count);
PivotFilter filter = pivot.PivotFilters[index];
filter.AutoFilter.FilterTop10(0, false, false, 2);

//Ajouter une condition de format de pivot
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();

//faites vos affaires

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"

'Ajouter un filtre croisé dynamique
Dim filterIndex As Int32 = pivot.PivotFilters.Add(0, PivotFilterType.Count)
Dim filter As PivotFilter = pivot.PivotFilters(filterIndex)
filter.AutoFilter.FilterTop10(0, False, False, 2)

'Ajouter une condition de format Pivot
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")

Voir également