Table
Contenu
[
Cacher
]Table class
Représente un tableau dans un document Word.
Pour en savoir plus, visitez leTravailler avec des tableaux article documentaire.
public class Table : CompositeNode
Constructeurs
Nom | La description |
---|---|
Table(DocumentBase) | Initialise une nouvelle instance duTable classe. |
Propriétés
Nom | La description |
---|---|
AbsoluteHorizontalDistance { get; set; } | Obtient ou définit la position absolue de la table flottante horizontale spécifiée par les propriétés de la table, en points. La valeur par défaut est 0. |
AbsoluteVerticalDistance { get; set; } | Obtient ou définit la position verticale absolue de la table flottante spécifiée par les propriétés de la table, en points. La valeur par défaut est 0. |
Alignment { get; set; } | Spécifie comment un tableau en ligne est aligné dans le document. |
AllowAutoFit { get; set; } | Permet à Microsoft Word et Aspose.Words de redimensionner automatiquement les cellules d’un tableau pour les adapter à leur contenu. |
AllowCellSpacing { get; set; } | Obtient ou définit l’option « Autoriser l’espacement entre les cellules ». |
AllowOverlap { get; } | Obtient si une table flottante doit autoriser d’autres objets flottants dans le document à chevaucher ses étendues lorsqu’ils sont affichés. La valeur par défaut estvrai . |
Bidi { get; set; } | Obtient ou définit s’il s’agit d’un tableau de droite à gauche. |
BottomPadding { get; set; } | Obtient ou définit la quantité d’espace (en points) à ajouter sous le contenu des cellules. |
CellSpacing { get; set; } | Obtient ou définit la quantité d’espace (en points) entre les cellules. |
Count { get; } | Obtient le nombre d’enfants immédiats de ce nœud. |
CustomNodeId { get; set; } | Spécifie l’identifiant de nœud personnalisé. |
Description { get; set; } | Obtient ou définit la description de cette table. Il fournit une représentation textuelle alternative des informations contenues dans la table. |
DistanceBottom { get; set; } | Obtient ou définit la distance entre le bas du tableau et le texte environnant, en points. |
DistanceLeft { get; set; } | Obtient ou définit la distance entre la gauche du tableau et le texte environnant, en points. |
DistanceRight { get; set; } | Obtient ou définit la distance entre la droite du tableau et le texte environnant, en points. |
DistanceTop { get; set; } | Obtient ou définit la distance entre le dessus du tableau et le texte environnant, en points. |
virtual Document { get; } | Obtient le document auquel appartient ce nœud. |
FirstChild { get; } | Obtient le premier enfant du nœud. |
FirstRow { get; } | Renvoie le premierRow nœud dans la table. |
HasChildNodes { get; } | Retoursvrai si ce nœud a des nœuds enfants. |
HorizontalAnchor { get; set; } | Obtient l’objet de base à partir duquel le positionnement horizontal de la table flottante doit être calculé. La valeur par défaut estColumn . |
override IsComposite { get; } | Retoursvrai car ce nœud peut avoir des nœuds enfants. |
LastChild { get; } | Obtient le dernier enfant du nœud. |
LastRow { get; } | Renvoie le dernierRow nœud dans la table. |
LeftIndent { get; set; } | Obtient ou définit la valeur qui représente le retrait gauche du tableau. |
LeftPadding { get; set; } | Obtient ou définit la quantité d’espace (en points) à ajouter à gauche du contenu des cellules. |
NextSibling { get; } | Obtient le nœud suivant immédiatement ce nœud. |
override NodeType { get; } | RetoursTable . |
ParentNode { get; } | Obtient le parent immédiat de ce nœud. |
PreferredWidth { get; set; } | Obtient ou définit la largeur préférée du tableau. |
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. |
RelativeHorizontalAlignment { get; set; } | Obtient ou définit l’alignement horizontal relatif de la table flottante. |
RelativeVerticalAlignment { get; set; } | Obtient ou définit l’alignement vertical relatif de la table flottante. |
RightPadding { get; set; } | Obtient ou définit la quantité d’espace (en points) à ajouter à droite du contenu des cellules. |
Rows { get; } | Fournit un accès typé aux lignes de la table. |
Style { get; set; } | Obtient ou définit le style de tableau appliqué à ce tableau. |
StyleIdentifier { get; set; } | Obtient ou définit l’identifiant de style indépendant des paramètres régionaux du style de table appliqué à cette table. |
StyleName { get; set; } | Obtient ou définit le nom du style de tableau appliqué à ce tableau. |
StyleOptions { get; set; } | Obtient ou définit les indicateurs binaires qui spécifient comment un style de table est appliqué à cette table. |
TextWrapping { get; set; } | Obtient ou définitTextWrapping pour la table. |
Title { get; set; } | Obtient ou définit le titre de cette table. Il fournit une représentation textuelle alternative des informations contenues dans la table. |
TopPadding { get; set; } | Obtient ou définit la quantité d’espace (en points) à ajouter au-dessus du contenu des cellules. |
VerticalAnchor { get; set; } | Obtient l’objet de base à partir duquel le positionnement vertical de la table flottante doit être calculé. La valeur par défaut estMargin . |
Méthodes
Nom | La 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. |
AutoFit(AutoFitBehavior) | Redimensionne le tableau et les cellules en fonction du comportement d’ajustement automatique spécifié. |
ClearBorders() | Supprime toutes les bordures de tableau et de cellule de ce tableau. |
ClearShading() | Supprime tous les ombrages sur la table. |
Clone(bool) | Crée un duplicata du nœud. |
ConvertToHorizontallyMergedCells() | Convertit les cellules fusionnées horizontalement par largeur en cellules fusionnées parHorizontalMerge . |
CreateNavigator() | Crée un navigateur qui peut être utilisé pour parcourir et lire des nœuds. |
EnsureMinimum() | Si le tableau n’a pas de lignes, en crée et en ajoute uneRow . |
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(Node, Node) | Insère le nœud spécifié immédiatement après le nœud de référence spécifié. |
InsertBefore(Node, Node) | 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 toutSmartTag nœ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. |
SetBorder(BorderType, LineStyle, double, Color, bool) | Définit la bordure du tableau spécifiée sur le style de ligne, la largeur et la couleur spécifiés. |
SetBorders(LineStyle, double, Color) | Définit toutes les bordures du tableau selon le style de ligne, la largeur et la couleur spécifiés. |
SetShading(TextureIndex, Color, Color) | Définit l’ombrage sur les valeurs spécifiées sur toute la table. |
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
Table
est un nœud de niveau bloc et peut être un enfant de classes dérivées deStory
ou InlineStory
.
Table
peut contenir un ou plusieursRow
nœuds.
Une table valide minimale doit avoir au moins unRow
.
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 2x2 formaté.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.StartTable();
builder.InsertCell();
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.Write("Row 1, cell 1.");
builder.InsertCell();
builder.Write("Row 1, cell 2.");
builder.EndRow();
// Lors de la construction du tableau, le générateur de documents appliquera ses valeurs de propriété RowFormat/CellFormat actuelles
// à la ligne/cellule actuelle dans laquelle se trouve son curseur et à toutes les nouvelles lignes/cellules au fur et à mesure qu'il les crée.
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[0].CellFormat.VerticalAlignment);
Assert.AreEqual(CellVerticalAlignment.Center, table.Rows[0].Cells[1].CellFormat.VerticalAlignment);
builder.InsertCell();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 2, cell 1.");
builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 2, cell 2.");
builder.EndRow();
builder.EndTable();
// Les lignes et cellules précédemment ajoutées ne sont pas affectées rétroactivement par les modifications apportées au formatage du générateur.
Assert.AreEqual(0, table.Rows[0].RowFormat.Height);
Assert.AreEqual(HeightRule.Auto, table.Rows[0].RowFormat.HeightRule);
Assert.AreEqual(100, table.Rows[1].RowFormat.Height);
Assert.AreEqual(HeightRule.Exactly, table.Rows[1].RowFormat.HeightRule);
Assert.AreEqual(TextOrientation.Upward, table.Rows[1].Cells[0].CellFormat.Orientation);
Assert.AreEqual(TextOrientation.Downward, table.Rows[1].Cells[1].CellFormat.Orientation);
doc.Save(ArtifactsDir + "DocumentBuilder.BuildTable.docx");
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
- class CompositeNode
- espace de noms Aspose.Words.Tables
- Assemblée Aspose.Words