Cell

Cell class

Représente une cellule de tableau.

Pour en savoir plus, visitez leTravailler avec des tableaux article documentaire.

public class Cell : CompositeNode

Constructeurs

NomLa description
Cell(DocumentBase)Initialise une nouvelle instance duCell classe.

Propriétés

NomLa description
CellFormat { get; }Donne accès aux propriétés de formatage de la cellule.
Count { get; }Obtient le nombre d’enfants immédiats de ce nœud.
CustomNodeId { get; set; }Spécifie l’identifiant de nœud personnalisé.
virtual Document { get; }Obtient le document auquel appartient ce nœud.
FirstChild { get; }Obtient le premier enfant du nœud.
FirstParagraph { get; }Obtient le premier paragraphe parmi les enfants immédiats.
HasChildNodes { get; }Retoursvrai si ce nœud a des nœuds enfants.
override IsComposite { get; }Retoursvrai car ce nœud peut avoir des nœuds enfants.
IsFirstCell { get; }True s’il s’agit de la première cellule d’une ligne ; faux sinon.
IsLastCell { get; }True s’il s’agit de la dernière cellule d’une ligne ; faux sinon.
LastChild { get; }Obtient le dernier enfant du nœud.
LastParagraph { get; }Obtient le dernier paragraphe parmi les enfants immédiats.
NextCell { get; }Obtient le suivantCell nœud.
NextSibling { get; }Obtient le nœud suivant immédiatement ce nœud.
override NodeType { get; }RetoursCell .
Paragraphs { get; }Obtient une collection de paragraphes qui sont des enfants immédiats de la cellule.
ParentNode { get; }Obtient le parent immédiat de ce nœud.
ParentRow { get; }Renvoie la ligne parent de la cellule.
PreviousCell { get; }Récupère le précédentCell nœud.
PreviousSibling { get; }Obtient le nœud précédant immédiatement ce nœud.
Range { get; }Renvoie unRange objet qui représente la partie d’un document contenue dans ce nœud.
Tables { get; }Obtient une collection de tables qui sont les enfants immédiats de la cellule.

Méthodes

NomLa description
override Accept(DocumentVisitor)Accepte un visiteur.
AppendChild(Node)Ajoute le nœud spécifié à la fin de la liste des nœuds enfants pour ce nœud.
Clone(bool)Crée un duplicata du nœud.
CreateNavigator()Crée un navigateur qui peut être utilisé pour parcourir et lire des nœuds.
EnsureMinimum()Si le dernier enfant n’est pas un paragraphe, crée et ajoute un paragraphe vide.
GetAncestor(NodeType)Obtient le premier ancêtre du spécifiéNodeType .
GetAncestor(Type)Obtient le premier ancêtre du type d’objet spécifié.
GetChild(NodeType, int, bool)Renvoie un Nième nœud enfant qui correspond au type spécifié.
GetChildNodes(NodeType, bool)Renvoie une collection active de nœuds enfants qui correspondent au type spécifié.
GetEnumerator()Fournit la prise en charge de chaque itération de style sur les nœuds enfants de ce nœud.
override GetText()Récupère le texte de ce nœud et de tous ses enfants.
IndexOf(Node)Renvoie l’index du nœud enfant spécifié dans le tableau de nœuds enfants.
InsertAfter(NodeNode)Insère le nœud spécifié immédiatement après le nœud de référence spécifié.
InsertBefore(NodeNode)Insère le nœud spécifié immédiatement avant le nœud de référence spécifié.
NextPreOrder(Node)Obtient le nœud suivant selon l’algorithme de traversée de l’arbre de pré-commande.
PrependChild(Node)Ajoute le nœud spécifié au début de la liste des nœuds enfants pour ce nœud.
PreviousPreOrder(Node)Obtient le nœud précédent selon l’algorithme de traversée d’arbre de pré-commande.
Remove()Se supprime du parent.
RemoveAllChildren()Supprime tous les nœuds enfants du nœud actuel.
RemoveChild(Node)Supprime le nœud enfant spécifié.
RemoveSmartTags()Supprime toutSmartTagnœuds descendants du nœud actuel.
SelectNodes(string)Sélectionne une liste de nœuds correspondant à l’expression XPath.
SelectSingleNode(string)Sélectionne le premierNode qui correspond à l’expression XPath.
ToString(SaveFormat)Exporte le contenu du nœud dans une chaîne au format spécifié.
ToString(SaveOptions)Exporte le contenu du nœud dans une chaîne à l’aide des options de sauvegarde spécifiées.

Remarques

Cell ne peut être qu’un enfant d’unRow.

Cell peut contenir des nœuds au niveau du blocParagraph etTable.

Une cellule valide minimale doit avoir au moins unParagraph.

Exemples

Montre comment créer un tableau.

Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

// Les tableaux contiennent des lignes contenant des cellules pouvant contenir des paragraphes
// avec des éléments typiques tels que des courses, des formes et même d'autres tables.
// L'appel de la méthode "EnsureMinimum" sur une table garantira que
// le tableau contient au moins une ligne, une cellule et un paragraphe.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);

Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);

Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);

// Ajoute du texte au premier appel de la première ligne du tableau.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);

doc.Save(ArtifactsDir + "Table.CreateTable.docx");

Montre comment parcourir tous les tableaux du document et imprimer le contenu de chaque cellule.

Document doc = new Document(MyDir + "Tables.docx");
TableCollection tables = doc.FirstSection.Body.Tables;

Assert.AreEqual(2, tables.ToArray().Length);

for (int i = 0; i < tables.Count; i++)
{
    Console.WriteLine($"Start of Table {i}");

    RowCollection rows = tables[i].Rows;

    // On peut utiliser la méthode "ToArray" sur une collection de lignes pour la cloner dans un tableau.
    Assert.AreEqual(rows, rows.ToArray());
    Assert.AreNotSame(rows, rows.ToArray());

    for (int j = 0; j < rows.Count; j++)
    {
        Console.WriteLine($"\tStart of Row {j}");

        CellCollection cells = rows[j].Cells;

        // On peut utiliser la méthode "ToArray" sur une collection de cellules pour la cloner dans un tableau.
        Assert.AreEqual(cells, cells.ToArray());
        Assert.AreNotSame(cells, cells.ToArray());

        for (int k = 0; k < cells.Count; k++)
        {
            string cellText = cells[k].ToString(SaveFormat.Text).Trim();
            Console.WriteLine($"\t\tContents of Cell:{k} = \"{cellText}\"");
        }

        Console.WriteLine($"\tEnd of Row {j}");
    }

    Console.WriteLine($"End of Table {i}\n");
}

Montre comment créer un tableau imbriqué sans utiliser de générateur de documents.

public void CreateNestedTable()
{
    Document doc = new Document();

    // Créez le tableau externe avec trois lignes et quatre colonnes, puis ajoutez-le au document.
    Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
    doc.FirstSection.Body.AppendChild(outerTable);

    // Créez un autre tableau avec deux lignes et deux colonnes puis insérez-le dans la première cellule du premier tableau.
    Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
    outerTable.FirstRow.FirstCell.AppendChild(innerTable);

    doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}

/// <summary>
/// Crée un nouveau tableau dans le document avec les dimensions et le texte donnés dans chaque cellule.
/// </summary>
private static Table CreateTable(Document doc, int rowCount, int cellCount, string cellText)
{
    Table table = new Table(doc);

    for (int rowId = 1; rowId <= rowCount; rowId++)
    {
        Row row = new Row(doc);
        table.AppendChild(row);

        for (int cellId = 1; cellId <= cellCount; cellId++)
        {
            Cell cell = new Cell(doc);
            cell.AppendChild(new Paragraph(doc));
            cell.FirstParagraph.AppendChild(new Run(doc, cellText));

            row.AppendChild(cell);
        }
    }

    // Vous pouvez utiliser les propriétés "Titre" et "Description" pour ajouter respectivement un titre et une description à votre tableau.
    // Le tableau doit avoir au moins une ligne avant de pouvoir utiliser ces propriétés.
    // Ces propriétés sont significatives pour les documents .docx conformes à la norme ISO/IEC 29500 (voir la classe OoxmlCompliance).
    // Si nous enregistrons le document aux formats pré-ISO/IEC 29500, Microsoft Word ignore ces propriétés.
    table.Title = "Aspose table title";
    table.Description = "Aspose table description";

    return table;
}

Voir également