English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans Excel, si vous pouvez regrouper les données avec des détails de niveau multiple pour afficher, cela peut clairement montrer la structure globale du tableau de données, donner au document un sentiment de hiérarchie. Selon les besoins, configurez l'affichage ou le masquage des détails sous les données de classification, ce qui facilite la visualisation et la gestion des données tout en rendant le document plus beau. Alors, comment créer un affichage de regroupement de données Excel en multi-niveaux en C# ? Le détail sera expliqué ci-dessous. Le composant gratuit est utilisé dans la méthodeFree Spire.XLS for .NETTéléchargez et installez ce composant, créez une application console, ajoutez le fichier dll de l'installation du composant au projet, et ajoutez également l'espace de noms correspondant. Voici les étapes spécifiques du code, pour référence.
Étape 1 :Créer un objet de la classe Wordbook, obtenir le premier feuillet
Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0];
Étape 2 :Écrire des données dans la cellule
sheet.Range["A1"].Value = "Départements de l'entreprise"; sheet.Range["A3"].Value = "Département intégré"; sheet.Range["A4"].Value = "Administration"; sheet.Range["A5"].Value = "Personnel"; sheet.Range["A6"].Value = "Département marketing"; sheet.Range["A7"].Value = "Département commercial"; sheet.Range["A8"].Value = "Département du service client"; sheet.Range["A9"].Value = "Département technique"; sheet.Range["A10"].Value = "Développement technique"; sheet.Range["A11"].Value = "Support technique"; sheet.Range["A12"].Value = "Support avant-vente"; sheet.Range["A13"].Value = "Support après-vente";
Étape 3 :Définir l'attribut IsSummaryRowBelow sur false, ce qui affiche la ligne de sommaire au-dessus des lignes de détail
sheet.PageSetup.IsSummaryRowBelow = false;
Étape 4 :Choisir une rangée pour le regroupement, le paramètre false indique que le regroupement actuel est développé, pour le cacher, configurez-le sur true
//Sélectionner les lignes pour le regroupement de niveau un sheet.GroupByRows(2, 13, false); //Sélectionner les lignes pour le regroupement de niveau deux sheet.GroupByRows(4,5 , false); sheet.GroupByRows(7, 8, false); sheet.GroupByRows(10,13 , false); //Sélectionner les lignes pour le regroupement de niveau trois sheet.GroupByRows(12,13, true);
Étape 5 :Définir un objet CellStyle, appliquer le format à l'intérieur du texte de la cellule
CellStyle style = workbook.Styles.Add("style"); style.Font.IsBold = true; style.Color = Color.LawnGreen; sheet.Range["A1"].CellStyleName = style.Name; sheet.Range["A3"].CellStyleName = style.Name; sheet.Range["A6"].CellStyleName = style.Name; sheet.Range["A9"].CellStyleName = style.Name;
Étape 6 :Définir le style de bord de la zone
sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin); sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin); sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin); sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin); sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin); sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin);
Étape 7 :Enregistrer le document
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
Exécuter le programme pour générer le document (vous pouvez le consulter dans le dossier bin>Debug du projet)
Présentation des résultats :
Tous les codes :
using System; using System.Drawing; using Spire.Xls; namespace MultilevelGroup_XLS { class Program { static void Main(string[] args) { //Créer un objet de la classe Wordbook, obtenir le premier feuillet Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0]; //Écrire des données dans la cellule sheet.Range["A1"].Value = "Départements de l'entreprise"; sheet.Range["A3"].Value = "Département intégré"; sheet.Range["A4"].Value = "Administration"; sheet.Range["A5"].Value = "Personnel"; sheet.Range["A6"].Value = "Département marketing"; sheet.Range["A7"].Value = "Département commercial"; sheet.Range["A8"].Value = "Département du service client"; sheet.Range["A9"].Value = "Département technique"; sheet.Range["A10"].Value = "Développement technique"; sheet.Range["A11"].Value = "Support technique"; sheet.Range["A12"].Value = "Support avant-vente"; sheet.Range["A13"].Value = "Support après-vente"; //Définir IsSummaryRowBelow sur false, ce qui affiche la ligne de sommaire au-dessus des lignes de détail sheet.PageSetup.IsSummaryRowBelow = false; //Sélectionner les lignes pour le regroupement de niveau un //Le paramètre false signifie que le groupe courant est développé, pour le cacher, configurez-le à true sheet.GroupByRows(2, 13, false); //Sélectionner les lignes pour le regroupement de niveau deux sheet.GroupByRows(4,5 , false); sheet.GroupByRows(7, 8, false); sheet.GroupByRows(10,13 , false); //Sélectionner les lignes pour le regroupement de niveau trois sheet.GroupByRows(12,13, true); //Définir un objet CellStyle, configurer et appliquer le format du texte dans la cellule CellStyle style = workbook.Styles.Add("style"); style.Font.IsBold = true; style.Color = Color.LawnGreen; sheet.Range["A1"].CellStyleName = style.Name; sheet.Range["A3"].CellStyleName = style.Name; sheet.Range["A6"].CellStyleName = style.Name; sheet.Range["A9"].CellStyleName = style.Name; //Définir le style de bord de la zone sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin); sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin); sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin); sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin); sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin); sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin); //Enregistrer le document workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("output.xlsx"); } } }
Voici toutes les étapes d'opération pour configurer le regroupement multicouche dans Excel.
C'est tout le contenu de cet article. J'espère que cela aidera à votre apprentissage et que vous soutiendrez également le tutoriel d'entraînement.
Déclaration : Le contenu de cet article est来源于网络, et appartient aux auteurs originaux. Le contenu est fourni par les utilisateurs d'Internet, téléchargé spontanément, ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu présumé enfreignant les droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois confirmé, ce site supprimera immédiatement le contenu présumé enfreignant les droits d'auteur.)