En savoir plus sur Xeed Workbooks pour .NET
Dans l'article précédent, nous avons vu comment accéder et modifier les données du Cellules, Colonnes et Rangs.
Cette fois-ci, nous allons nous pencher sur l'ajout et la modification de Tableaux dans un Feuille de travail.
Qu'est-ce qu'un tableau ?
A Tableau représente une plage de cellules dans un Feuille de travail. Pour être considérées comme un tableau, ces cellules doivent être indépendantes des autres cellules de la feuille de calcul et regroupées de manière à former un arrangement rectangulaire de lignes et de colonnes. Des styles intégrés peuvent être utilisés pour unifier visuellement ces cellules groupées.
La ligne d'en-tête du tableau peut afficher des options de filtrage pour chaque colonne. Une ligne de total peut également être ajoutée, chaque cellule de cette ligne affichera une formule de calcul basée sur les données de cette colonne (Somme, Moyenne, Nombre, etc.).
Remplir les données du tableau
Comme indiqué précédemment, un Tableau est une plage de cellules dans un Feuille de travailLa première étape consiste donc à remplir les cellules pour connaître la plage qu'occupera le tableau.
Pour remplir les valeurs des cellules, nous utilisons ce que nous avons appris dans l'article précédent. La première ligne contiendra nos en-têtes, tandis que les autres contiendront les données.
// Set the Table's content
using( var document = Workbook.Load( "testDoc.xlsx" ));
{
var worksheet = document.Worksheets[ 0 ];
// Column 1 (B3:B7)
worksheet.Rows[ 2 ].Cells[ 1 ].Value = "Employee";
worksheet.Rows[ 3 ].Cells[ 1 ].Value = "Nancy Davolio";
worksheet.Rows[ 4 ].Cells[ 1 ].Value = "Margaret Peacock";
worksheet.Rows[ 5 ].Cells[ 1 ].Value = "Steven Buchanan";
worksheet.Rows[ 6 ].Cells[ 1 ].Value = "Laura Callahan";
// Column 2 (C3:C7)
worksheet.Rows[ 2 ].Cells[ 2 ].Value = "Years of Experience";
worksheet.Rows[ 3 ].Cells[ 2 ].Value = "12";
worksheet.Rows[ 4 ].Cells[ 2 ].Value = "2";
worksheet.Rows[ 5 ].Cells[ 2 ].Value = "9";
worksheet.Rows[ 6 ].Cells[ 2 ].Value = "7";
// Column 3 (D3:D7)
worksheet.Rows[ 2 ].Cells[ 3 ].Value = "Salary";
worksheet.Rows[ 3 ].Cells[ 3 ].Value = "75000";
worksheet.Rows[ 4 ].Cells[ 3 ].Value = "41000";
worksheet.Rows[ 5 ].Cells[ 3 ].Value = "64000";
worksheet.Rows[ 6 ].Cells[ 3 ].Value = "55000";
document.Save();
}
Ajouter un tableau
Les tableaux sont stockés dans un Collection de tables disponible par l'intermédiaire de l'objet Tableaux sur une propriété Feuille de travail. Pour ajouter un tableau, nous utilisons la fonction Ajouter que l'on trouve sur le site Collection de tables. La méthode attend le nom du tableau (facultatif), une plage de cellules (soit par les adresses des cellules, soit définies par des index), le style du tableau et si la ligne d'en-tête est affichée.
Le Ajouter prend en charge 4 surcharges :
(String, String, TableStyle, Boolean): the range of cells is defined by cell addresses.
(String, String, String, TableStyle, Boolean): the table name is specified, and the range of cells is defined by cell addresses.
(Int32, Int32, Int32, Int32, TableStyle, Boolean): the range of cells is defined by indexes.
(String, Int32, Int32, Int32, Int32, TableStyle, Boolean): the table name is specified, and the range of cells is defined by indexes.
// Add a Table from cell B3 to cell F7
using( var document = Workbook.Load( "testDoc.xlsx" ));
{
var worksheet = document.Worksheets[ 0 ];
// Overload 1: Using addresses, the table name is not specified
worksheet.Tables.Add( "B3", "F7", TableStyle.TableStyleMedium20, true);
// Overload 2: Using addresses, the table name is specified
worksheet.Tables.Add( "Results", "B3", "F7", TableStyle.TableStyleMedium20, true);
// Overload 3: Using indexes, the table name is not specified
worksheet.Tables.Add( 2, 1, 6, 5, TableStyle.TableStyleMedium20, true);
// Overload 4: Using indexes, the table name is specified
worksheet.Tables.Add( "Results", 2, 1, 6, 5, TableStyle.TableStyleMedium20, true);
document.Save();
}
Note:
If the range of cells is defined by indexes, the sequence is startRowId, startColumnId, endRowId, endColumnId, and the indexes each start at 0. For example, the cell at the address "A1" would be at the indexes (0, 0).
Accès et modification d'un tableau
Nous pouvons accéder à une table existante, par exemple une table qui vient d'être ajoutée, directement à partir de l'élément Collection de tables sur le Feuille de travail. Nous pouvons spécifier soit l'index de la table dans la collection, soit son nom.
// Fetching a specific Table
var firstTable = worksheet.Tables[ 0 ];
var myTable = worksheet.Tables[ "Results" ];
Maintenant que nous avons le tableau en main, nous pouvons personnaliser certaines de ses propriétés.
La liste des propriétés disponibles sur le site Tableau est disponible dans la documentation ici.
// Modifying a Table's properties
var myTable = worksheet.Tables[ 0 ];
myTable.AutoFilter.ShowFilterButton = false;
myTable.ShowFirstColumnFormatting = true;
myTable.ShowBandedRows = true;
Nous pouvons également modifier les colonnes individuelles d'un Tableauqui est accessible par l'intermédiaire de la page d'accueil du tableau. Colonnes propriété.
La liste des propriétés disponibles sur le site TableColumn est disponible dans la documentation ici.
// Modifying a Columns's properties
var myTable = worksheet.Tables[ 0 ];
myTable.Columns[ "Fruits" ].TotalRowLabel = "TOTAL:";
myTable.Columns[ "Quantity" ].TotalRowFunction = TotalRowFunction.Sum;
Pour plus d'informations, veuillez vous référer à la la documentation.