Cell
Contenido
[
Ocultar
]Cell class
Representa una celda de tabla.
Para obtener más información, visite elTrabajar con tablas artículo de documentación.
public class Cell : CompositeNode
Constructores
Nombre | Descripción |
---|---|
Cell(DocumentBase) | Inicializa una nueva instancia delCell clase. |
Propiedades
Nombre | Descripción |
---|---|
CellFormat { get; } | Proporciona acceso a las propiedades de formato de la celda. |
Count { get; } | Obtiene el número de hijos inmediatos de este nodo. |
CustomNodeId { get; set; } | Especifica el identificador de nodo personalizado. |
virtual Document { get; } | Obtiene el documento al que pertenece este nodo. |
FirstChild { get; } | Obtiene el primer hijo del nodo. |
FirstParagraph { get; } | Obtiene el primer párrafo entre los hijos inmediatos. |
HasChildNodes { get; } | Devolucionesverdadero si este nodo tiene nodos secundarios. |
override IsComposite { get; } | Devolucionesverdadero ya que este nodo puede tener nodos secundarios. |
IsFirstCell { get; } | Verdadero si esta es la primera celda dentro de una fila; falso en caso contrario. |
IsLastCell { get; } | Verdadero si esta es la última celda dentro de una fila; falso en caso contrario. |
LastChild { get; } | Obtiene el último hijo del nodo. |
LastParagraph { get; } | Obtiene el último párrafo entre los hijos inmediatos. |
NextCell { get; } | Obtiene el siguienteCell nodo. |
NextSibling { get; } | Obtiene el nodo que sigue inmediatamente a este nodo. |
override NodeType { get; } | DevolucionesCell . |
Paragraphs { get; } | Obtiene una colección de párrafos que son hijos inmediatos de la celda. |
ParentNode { get; } | Obtiene el padre inmediato de este nodo. |
ParentRow { get; } | Devuelve la fila principal de la celda. |
PreviousCell { get; } | Obtiene el anteriorCell nodo. |
PreviousSibling { get; } | Obtiene el nodo inmediatamente anterior a este nodo. |
Range { get; } | Devuelve unRange objeto que representa la parte de un documento contenido en este nodo. |
Tables { get; } | Obtiene una colección de tablas que son hijas inmediatas de la celda. |
Métodos
Nombre | Descripción |
---|---|
override Accept(DocumentVisitor) | Acepta un visitante. |
AppendChild(Node) | Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo. |
Clone(bool) | Crea un duplicado del nodo. |
CreateNavigator() | Crea un navegador que se puede utilizar para atravesar y leer nodos. |
EnsureMinimum() | Si el último elemento secundario no es un párrafo, crea y agrega un párrafo vacío. |
GetAncestor(NodeType) | Obtiene el primer ancestro del especificadoNodeType . |
GetAncestor(Type) | Obtiene el primer antepasado del tipo de objeto especificado. |
GetChild(NodeType, int, bool) | Devuelve un enésimo nodo secundario que coincide con el tipo especificado. |
GetChildNodes(NodeType, bool) | Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado. |
GetEnumerator() | Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo. |
override GetText() | Obtiene el texto de este nodo y de todos sus hijos. |
IndexOf(Node) | Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios. |
InsertAfter(Node, Node) | Inserta el nodo especificado inmediatamente después del nodo de referencia especificado. |
InsertBefore(Node, Node) | Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado. |
NextPreOrder(Node) | Obtiene el siguiente nodo según el algoritmo transversal del árbol de pedidos anticipados. |
PrependChild(Node) | Agrega el nodo especificado al principio de la lista de nodos secundarios para este nodo. |
PreviousPreOrder(Node) | Obtiene el nodo anterior según el algoritmo transversal del árbol de pedidos anticipados. |
Remove() | Se elimina del padre. |
RemoveAllChildren() | Elimina todos los nodos secundarios del nodo actual. |
RemoveChild(Node) | Elimina el nodo secundario especificado. |
RemoveSmartTags() | Elimina todoSmartTag nodos descendientes del nodo actual. |
SelectNodes(string) | Selecciona una lista de nodos que coinciden con la expresión XPath. |
SelectSingleNode(string) | Selecciona el primeroNode que coincide con la expresión XPath. |
ToString(SaveFormat) | Exporta el contenido del nodo a una cadena en el formato especificado. |
ToString(SaveOptions) | Exporta el contenido del nodo a una cadena usando las opciones de guardado especificadas. |
Observaciones
Cell
sólo puede ser hijo de unRow
.
Cell
puede contener nodos a nivel de bloqueParagraph
yTable
.
Una celda mínima válida debe tener al menos unaParagraph
.
Ejemplos
Muestra cómo crear una tabla.
Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// Las tablas contienen filas, que contienen celdas, que pueden tener párrafos
// con elementos típicos como corridas, formas e incluso otras tablas.
// Llamar al método "EnsureMinimum" en una tabla garantizará que
// la tabla tiene al menos una fila, una celda y un párrafo.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);
// Agrega texto a la primera llamada en la primera fila de la tabla.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);
doc.Save(ArtifactsDir + "Table.CreateTable.docx");
Muestra cómo recorrer todas las tablas del documento e imprimir el contenido de cada celda.
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;
// Podemos usar el método "ToArray" en una colección de filas para clonarla en una matriz.
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;
// Podemos usar el método "ToArray" en una colección de celdas para clonarla en una matriz.
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");
}
Muestra cómo crear una tabla anidada sin utilizar un generador de documentos.
public void CreateNestedTable()
{
Document doc = new Document();
// Cree la tabla exterior con tres filas y cuatro columnas y luego agréguela al documento.
Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
doc.FirstSection.Body.AppendChild(outerTable);
// Crea otra tabla con dos filas y dos columnas y luego insértala en la primera celda de la primera tabla.
Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
outerTable.FirstRow.FirstCell.AppendChild(innerTable);
doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}
/// <summary>
/// Crea una nueva tabla en el documento con las dimensiones y el texto dados en cada celda.
/// </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);
}
}
// Puedes usar las propiedades "Título" y "Descripción" para agregar un título y una descripción respectivamente a tu tabla.
// La tabla debe tener al menos una fila antes de que podamos usar estas propiedades.
// Estas propiedades son significativas para documentos .docx compatibles con ISO/IEC 29500 (consulte la clase OoxmlCompliance).
// Si guardamos el documento en formatos anteriores a ISO/IEC 29500, Microsoft Word ignora estas propiedades.
table.Title = "Aspose table title";
table.Description = "Aspose table description";
return table;
}
Ver también
- class CompositeNode
- espacio de nombres Aspose.Words.Tables
- asamblea Aspose.Words