Zeilen gruppieren und Zwischensumme erstellen

Zeilen gruppieren

So gruppieren Sie eine bestimmte Anzahl von Zeilen:

  1. Fügen Sie einem Webformular das Aspose.Cells.GridWeb-Steuerelement hinzu.
  2. Greifen Sie auf ein Arbeitsblatt zu.
  3. Wählen Sie die gewünschte Anzahl von Zellen in Zeilen aus.
  4. Gruppieren Sie die Zeilen.

Wenn die Zeilen gruppiert sind, wird oben in der Zusammenfassungszeile der Zeilen eine Schaltfläche zum Erweitern/Reduzieren angezeigt. Sie können die Richtungseinstellung ändern. Die WebWorksheet.IsSummaryRowBelow-Eigenschaft ist eine boolesche Eigenschaft. Setzen Sie es auf „false“ (Standard) und die Zusammenfassungszeile befindet sich über den Detailzeilen. Setzen Sie es auf „true“ und die Zusammenfassungszeile befindet sich unter den Detailzeilen. Klicken Sie auf die Schaltfläche Erweitern/Reduzieren, um gruppierte Zeilen zu erweitern oder zu reduzieren.

Im folgenden Beispiel werden die Zeilen von der 2. bis zur 10. Zeile gruppiert.

Zeilen gruppieren

todo: Bild_alt_Text

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

Gruppierte Zeilen verschachteln

Sie können Organisationsebenen erstellen, während Sie eine Reihe von Zeilen gruppieren. Sie können Zeilen unter den gruppierten Zeilen gruppieren. Das folgende Beispiel zeigt das Verschachteln gruppierter Zeilen.

Zeilen gruppieren

todo: Bild_alt_Text

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Group the rows

sheet.Cells.GroupRows(1, 9);

// Create nested group of rows

sheet.Cells.GroupRows(4, 6);

Interner Prozess: Wie funktioniert die Kontrolle?

Jede Reihe des Blattes hat eine Gliederungsnummer. Der Standardwert der Gliederungsnummer ist Null. Jedes Mal, wenn Sie die Zeilen gruppieren, wird die Gliederungsnummer um 1 erhöht. Sie können die Gliederungsnummer erhalten, indem Sie die Methode GridWorksheet.Cells.GetRowOutlineLevel() aufrufen.

Gruppierung von Zeilen aufheben

Aspose.Cells.GridWeb ermöglicht es Ihnen, gruppierte Zeilen aufzuheben.

So heben Sie die Gruppierung einer bestimmten Anzahl von Zeilen auf:

  1. Wählen Sie eine Reihe von Zellen in den Zeilen im Arbeitsblatt aus, um die Gruppierung aufzuheben.
  2. Heben Sie die Gruppierung der Zeilen auf.

Im folgenden Beispiel wird die Gruppierung der Zeilen von der 2. bis zur 10. Zeile aufgehoben.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

// Ungroup the rows

sheet.Cells.UngroupRows(1, 9); 

Zwischensumme erstellen

Die Zwischensummenfunktion des Steuerelements kann die Zeilen im Blatt mit einer bestimmten Spalte gruppieren und die Zusammenfassung der Spalten berechnen. Aspose.Cells.GridWeb kann Zwischensummenwerte für eine Liste automatisch berechnen. Wenn Sie Zwischensummen implementieren, gliedert das Steuerelement die Liste, sodass Sie die Detailzeilen für jede Zwischensumme anzeigen und ausblenden können. Sortieren Sie vor dem Hinzufügen von Zwischensummen nach dem Feld, für das Sie eine Zwischensumme erstellen möchten. Verwenden Sie zum Erstellen von Zwischensummen eine beliebige Version der überladenen WebWorksheet.CreateSubtotal-Methode.

 public void CreateSubtotal

(

           int columnNameRowIndex,

           int dataRows,

           int groupByColumnIndex,

           SubtotalFunction subtotalFunction,

           int[]subtotalColumnIndexList

);

Parameterliste

Nein. Parametername Beschreibung
1 SpaltennameZeilenIndex Der Zeilenindex der Zeile mit dem Spaltennamen.
2 Datenzeilen Die Anzahl der Datenzeilen.
3 groupByColumnIndex Der Spaltenindex der zu gruppierenden Spalte.
4 subtotalFunction Die Aufzählung des Typs der Zwischensummenfunktion.
5 subtotalColumnIndexList Die Spaltenindizes, für die Zwischensummen gebildet werden sollen.

Liste der zusammenfassenden Funktionen

Es gibt mehrere Arten von Zusammenfassungsfunktionen, die von der Enumeration {[SubtotalFunction}} unterstützt werden:

Nein. Funktionsname Beschreibung
1 DURCHSCHNITT Berechnet den Durchschnitt der Werte.
2 ANZAHL Zählt die numerischen Werte in den Zellen.
3 GRAF Zählt die nicht numerischen Daten in den Zellen.
4 max Berechnet den größten Wert.
5 MINDEST Berechnet den kleinsten Wert.
6 PRODUKT Berechnet das Produkt der Werte.
7 SUMME Berechnet die Summe der Werte.
Im folgenden Beispiel werden die Zwischensummen generiert, die die nicht numerischen Werte berechnen, die nach der zweiten Spalte im Arbeitsblatt gruppiert sind.

Zwischensummen

todo: Bild_alt_Text

 sheet.CreateSubtotal(0, sheet.Cells.MaxRow, 1, SubtotalFunction.COUNTA, new int[]{ 1, 2, 3, 4, 5 });

Zwischensumme entfernen

Um eine Zwischensumme zu entfernen, verwenden Sie die WebWorksheet.RemoveSubtotal-Methode. Im folgenden Beispiel werden die Zwischensummen entfernt.

 // Accessing the reference of the worksheet that is currently active

GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];

//Remove the subtotals

sheet.RemoveSubtotal();

Über die SUBTOTAL-Funktion

Das GridWeb-Steuerelement verwendet die Formelfunktion SUBTOTAL, um den Zwischensummenwert zu berechnen.

Syntax: ZWISCHENSUMME(funktion_num, ref1, ref2, …)

function_num ist eine Zahl, die den Typ der Funktion angibt, die bei der Zwischensummenberechnung verwendet wird.

1 DURCHSCHNITT
2 ANZAHL
3 GRAF
4 max
5 MINDEST
6 PRODUKT
7 SUMME
ref1, ref2 sind die zu subsumierenden Bereiche. Wenn ref1, ref2, … andere Zwischensummenfunktionen enthalten, werden die referenzierten Zellen ignoriert, um eine doppelte Berechnung zu vermeiden.