PivotTableCollection

PivotTableCollection class

Stellt die Sammlung aller PivotTable-Objekte auf dem angegebenen Arbeitsblatt dar.

public class PivotTableCollection : CollectionBase<PivotTable>, IDisposable

Eigenschaften

NameBeschreibung
Capacity { get; set; }
Count { get; }
Item { get; }Ruft den PivotTable-Bericht nach Index ab. (3 indexers)
Item { get; set; }

Methoden

NameBeschreibung
Add(PivotTable, string, string)Fügt der Sammlung ein neues PivotTable-Objekt aus einer anderen PivotTable hinzu.
Add(string, string, string)Fügt einer PivotCaches-Sammlung einen neuen PivotTable-Cache hinzu.
Add(PivotTable, int, int, string)Fügt der Sammlung ein neues PivotTable-Objekt aus einer anderen PivotTable hinzu.
Add(string, int, int, string)Fügt einer PivotCaches-Sammlung einen neuen PivotTable-Cache hinzu.
Add(string, string, string, bool)Fügt einer PivotCaches-Sammlung einen neuen PivotTable-Cache hinzu.
Add(string, int, int, string, bool)Fügt einer PivotCaches-Sammlung einen neuen PivotTable-Cache hinzu.
Add(string[], bool, PivotPageFields, string, string)Fügt der Sammlung ein neues PivotTable-Objekt mit mehreren Konsolidierungsbereichen als Datenquelle hinzu.
Add(string[], bool, PivotPageFields, int, int, string)Fügt der Sammlung ein neues PivotTable-Objekt mit mehreren Konsolidierungsbereichen als Datenquelle hinzu.
BinarySearch(PivotTable)
BinarySearch(PivotTable, IComparer<PivotTable>)
BinarySearch(int, int, PivotTable, IComparer<PivotTable>)
Clear()Alle Pivot-Tabellen löschen. (2 methods)
Contains(PivotTable)
CopyTo(PivotTable[])
CopyTo(PivotTable[], int)
CopyTo(int, PivotTable[], int, int)
Dispose()Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verbunden sind.
Exists(Predicate<PivotTable>)
Find(Predicate<PivotTable>)
FindAll(Predicate<PivotTable>)
FindIndex(Predicate<PivotTable>)
FindIndex(int, Predicate<PivotTable>)
FindIndex(int, int, Predicate<PivotTable>)
FindLast(Predicate<PivotTable>)
FindLastIndex(Predicate<PivotTable>)
FindLastIndex(int, Predicate<PivotTable>)
FindLastIndex(int, int, Predicate<PivotTable>)
GetEnumerator()
IndexOf(PivotTable)
IndexOf(PivotTable, int)
IndexOf(PivotTable, int, int)
LastIndexOf(PivotTable)
LastIndexOf(PivotTable, int)
LastIndexOf(PivotTable, int, int)
Remove(PivotTable)Löscht die angegebene PivotTable und löscht die PivotTable data
Remove(PivotTable, bool)Löscht die angegebene PivotTable
RemoveAt(int)Löscht die PivotTable am angegebenen Index und löscht die PivotTable data (2 methods)
RemoveAt(int, bool)Löscht die PivotTable am angegebenen Index

Beispiele


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

//Attribute von PivotField ändern
PivotField rowField = pivot.RowFields[0];
rowField.DisplayName = "custom display name";

//PivotFilter hinzufügen
int index = pivot.PivotFilters.Add(0, PivotFilterType.Count);
PivotFilter filter = pivot.PivotFilters[index];
filter.AutoFilter.FilterTop10(0, false, false, 2);

//PivotFormatCondition hinzufügen
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();

// Mach dein Geschäft

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"

'PivotFilter hinzufügen
Dim filterIndex As Int32 = pivot.PivotFilters.Add(0, PivotFilterType.Count)
Dim filter As PivotFilter = pivot.PivotFilters(filterIndex)
filter.AutoFilter.FilterTop10(0, False, False, 2)

'Fügen Sie PivotFormatCondition hinzu
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")

Siehe auch