Appliquer un sous total et changer la direction des lignes de synthèse du contour en dessous du détail
Cet article expliquera comment appliquer un sous-total aux données et changer la direction des lignes de synthèse du contour en dessous du détail.
Vous pouvez appliquer un sous-total aux données en utilisant la méthode Worksheet.Cells.Subtotal(). Elle prend les paramètres suivants.
- CellArea - la plage sur laquelle appliquer le sous-total
- GroupBy - le champ à regrouper, en tant que décalage entier indexé à partir de zéro
- Function - la fonction de sous-total
- TotalList - un tableau de décalages de champ indexés à partir de zéro, indiquant les champs auxquels les sous-totaux sont ajoutés
- Replace - Indique s’il faut remplacer les sous-totaux actuels
- SautsDePage - Indique s’il faut ajouter un saut de page entre les groupes
- RésuméSousDonnées - Indique s’il faut ajouter un résumé sous les données.
De plus, vous pouvez contrôler la direction des lignes de résumé avec détail ci-dessous comme indiqué dans la capture d’écran suivante en utilisant la propriété Worksheet.Outline.SummaryRowBelow. Vous pouvez ouvrir ce paramètre dans Microsoft Excel en utilisant Données > Plan > Paramètres
Images des fichiers source et de sortie
La capture d’écran suivante montre le fichier Excel source utilisé dans le code d’exemple ci-dessous, qui contient des données dans les colonnes A et B.
La capture d’écran suivante montre le fichier Excel de sortie généré par le code d’exemple. Comme vous pouvez le constater, un sous-total a été appliqué à la plage A2:B11 et la direction de la synthèse est les lignes de résumé ci-dessous le détail.
Code C# pour appliquer un sous-total et changer la direction des lignes de synthèse
Voici le code d’exemple pour obtenir le résultat tel que montré ci-dessus.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Get the Cells collection in the first worksheet | |
Cells cells = worksheet.Cells; | |
// Create a cellarea i.e.., A2:B11 | |
CellArea ca = CellArea.CreateCellArea("A2", "B11"); | |
// Apply subtotal, the consolidation function is Sum and it will applied to Second column (B) in the list | |
cells.Subtotal(ca, 0, ConsolidationFunction.Sum, new int[] { 1 }, true, false, true); | |
// Set the direction of outline summary | |
worksheet.Outline.SummaryRowBelow = true; | |
// Save the excel file | |
workbook.Save(dataDir + "output_out.xlsx"); |