Cell class
Cell class
Represents a table cell. To learn more, visit the Working with Tables documentation article.
Remarks
Cell can only be a child of a Row.
Cell can contain block-level nodes Paragraph and Table.
A minimal valid cell needs to have at least one Paragraph.
Inheritance: Cell → CompositeNode → Node
Constructors
Name | Description |
---|---|
Cell(doc) | Initializes a new instance of the Cell class. |
Properties
Name | Description |
---|---|
cellFormat | Provides access to the formatting properties of the cell. |
count | Gets the number of immediate children of this node. (Inherited from CompositeNode) |
customNodeId | Specifies custom node identifier. (Inherited from Node) |
document | Gets the document to which this node belongs. (Inherited from Node) |
firstChild | Gets the first child of the node. (Inherited from CompositeNode) |
firstParagraph | Gets the first paragraph among the immediate children. |
hasChildNodes | Returns true if this node has any child nodes.(Inherited from CompositeNode) |
isComposite | Returns true if this node can contain other nodes.(Inherited from Node) |
isFirstCell | True if this is the first cell inside a row; false otherwise. |
isLastCell | True if this is the last cell inside a row; false otherwise. |
lastChild | Gets the last child of the node. (Inherited from CompositeNode) |
lastParagraph | Gets the last paragraph among the immediate children. |
nextCell | Gets the next Cell node. |
nextSibling | Gets the node immediately following this node. (Inherited from Node) |
nodeType | Returns NodeType.Cell. |
paragraphs | Gets a collection of paragraphs that are immediate children of the cell. |
parentNode | Gets the immediate parent of this node. (Inherited from Node) |
parentRow | Returns the parent row of the cell. |
previousCell | Gets the previous Cell node. |
previousSibling | Gets the node immediately preceding this node. (Inherited from Node) |
range | Returns a Range object that represents the portion of a document that is contained in this node. (Inherited from Node) |
tables | Gets a collection of tables that are immediate children of the cell. |
Methods
Name | Description |
---|---|
accept(visitor) | Accepts a visitor. |
acceptEnd(visitor) | Accepts a visitor for visiting the end of the cell. |
acceptStart(visitor) | Accepts a visitor for visiting the start of the cell. |
appendChild(newChild) | Adds the specified node to the end of the list of child nodes for this node. (Inherited from CompositeNode) |
asBody() | Cast node to Body. (Inherited from Node) |
asBookmarkEnd() | Cast node to BookmarkEnd. (Inherited from Node) |
asBookmarkStart() | Cast node to BookmarkStart. (Inherited from Node) |
asBuildingBlock() | Cast node to BuildingBlock. (Inherited from Node) |
asCell() | Cast node to Cell. (Inherited from Node) |
asComment() | Cast node to Comment. (Inherited from Node) |
asCommentRangeEnd() | Cast node to CommentRangeEnd. (Inherited from Node) |
asCommentRangeStart() | Cast node to CommentRangeStart. (Inherited from Node) |
asCompositeNode() | Cast node to CompositeNode. (Inherited from Node) |
asDocument() | Cast node to Node.document. (Inherited from Node) |
asEditableRangeEnd() | Cast node to EditableRangeEnd. (Inherited from Node) |
asEditableRangeStart() | Cast node to EditableRangeStart. (Inherited from Node) |
asFieldEnd() | Cast node to FieldEnd. (Inherited from Node) |
asFieldSeparator() | Cast node to FieldSeparator. (Inherited from Node) |
asFieldStart() | Cast node to FieldStart. (Inherited from Node) |
asFootnote() | Cast node to Footnote. (Inherited from Node) |
asFormField() | Cast node to FormField. (Inherited from Node) |
asGlossaryDocument() | Cast node to GlossaryDocument. (Inherited from Node) |
asGroupShape() | Cast node to GroupShape. (Inherited from Node) |
asHeaderFooter() | Cast node to HeaderFooter. (Inherited from Node) |
asOfficeMath() | Cast node to OfficeMath. (Inherited from Node) |
asParagraph() | Cast node to Paragraph. (Inherited from Node) |
asRow() | Cast node to Row. (Inherited from Node) |
asRun() | Cast node to Run. (Inherited from Node) |
asSection() | Cast node to Section. (Inherited from Node) |
asShape() | Cast node to Shape. (Inherited from Node) |
asSmartTag() | Cast node to SmartTag. (Inherited from Node) |
asSpecialChar() | Cast node to SpecialChar. (Inherited from Node) |
asStructuredDocumentTag() | Cast node to StructuredDocumentTag. (Inherited from Node) |
asStructuredDocumentTagRangeEnd() | Cast node to StructuredDocumentTagRangeEnd. (Inherited from Node) |
asStructuredDocumentTagRangeStart() | Cast node to StructuredDocumentTagRangeStart. (Inherited from Node) |
asSubDocument() | Cast node to SubDocument. (Inherited from Node) |
asTable() | Cast node to Table. (Inherited from Node) |
clone(isCloneChildren) | Creates a duplicate of the node. (Inherited from Node) |
ensureMinimum() | If the last child is not a paragraph, creates and appends one empty paragraph. |
getAncestor(ancestorType) | Gets the first ancestor of the specified NodeType. (Inherited from Node) |
getBuildingBlock(index, isDeep) | (Inherited from CompositeNode) |
getChild(nodeType, index, isDeep) | Returns an Nth child node that matches the specified type. (Inherited from CompositeNode) |
getChildNodes(nodeType, isDeep) | Returns a live collection of child nodes that match the specified type. (Inherited from CompositeNode) |
getComment(index, isDeep) | (Inherited from CompositeNode) |
getEditableRangeStart(index, isDeep) | (Inherited from CompositeNode) |
getFootnote(index, isDeep) | (Inherited from CompositeNode) |
getGroupShape(index, isDeep) | (Inherited from CompositeNode) |
getOfficeMath(index, isDeep) | (Inherited from CompositeNode) |
getParagraph(index, isDeep) | (Inherited from CompositeNode) |
getRun(index, isDeep) | (Inherited from CompositeNode) |
getSdt(index, isDeep) | (Inherited from CompositeNode) |
getSdtRangeEnd(index, isDeep) | (Inherited from CompositeNode) |
getSdtRangeStart(index, isDeep) | (Inherited from CompositeNode) |
getShape(index, isDeep) | (Inherited from CompositeNode) |
getSmartTag(index, isDeep) | (Inherited from CompositeNode) |
getTable(index, isDeep) | (Inherited from CompositeNode) |
getText() | Gets the text of this node and of all its children. (Inherited from Node) |
indexOf(child) | Returns the index of the specified child node in the child node array. (Inherited from CompositeNode) |
insertAfter(newChild, refChild) | Inserts the specified node immediately after the specified reference node. (Inherited from CompositeNode) |
insertBefore(newChild, refChild) | Inserts the specified node immediately before the specified reference node. (Inherited from CompositeNode) |
nextPreOrder(rootNode) | Gets next node according to the pre-order tree traversal algorithm. (Inherited from Node) |
nodeTypeToString(nodeType) | A utility method that converts a node type enum value into a user friendly string. (Inherited from Node) |
prependChild(newChild) | Adds the specified node to the beginning of the list of child nodes for this node. (Inherited from CompositeNode) |
previousPreOrder(rootNode) | Gets the previous node according to the pre-order tree traversal algorithm. (Inherited from Node) |
referenceEquals(other) | (Inherited from Node) |
remove() | Removes itself from the parent. (Inherited from Node) |
removeAllChildren() | Removes all the child nodes of the current node. (Inherited from CompositeNode) |
removeChild(oldChild) | Removes the specified child node. (Inherited from CompositeNode) |
removeSmartTags() | Removes all SmartTag descendant nodes of the current node. (Inherited from CompositeNode) |
selectNodes(xpath) | Selects a list of nodes matching the XPath expression. (Inherited from CompositeNode) |
selectSingleNode(xpath) | Selects the first Node that matches the XPath expression. (Inherited from CompositeNode) |
toString(saveFormat) | Exports the content of the node into a string in the specified format. (Inherited from Node) |
toString(saveOptions) | Exports the content of the node into a string using the specified save options. (Inherited from Node) |
Examples
Shows how to create a table.
let doc = new aw.Document();
let table = new aw.Tables.Table(doc);
doc.firstSection.body.appendChild(table);
// Tables contain rows, which contain cells, which may have paragraphs
// with typical elements such as runs, shapes, and even other tables.
// Calling the "EnsureMinimum" method on a table will ensure that
// the table has at least one row, cell, and paragraph.
let firstRow = new aw.Tables.Row(doc);
table.appendChild(firstRow);
let firstCell = new aw.Tables.Cell(doc);
firstRow.appendChild(firstCell);
let paragraph = new aw.Paragraph(doc);
firstCell.appendChild(paragraph);
// Add text to the first cell in the first row of the table.
let run = new aw.Run(doc, "Hello world!");
paragraph.appendChild(run);
doc.save(base.artifactsDir + "Table.CreateTable.docx");
Shows how to iterate through all tables in the document and print the contents of each cell.
let doc = new aw.Document(base.myDir + "Tables.docx");
let tables = doc.firstSection.body.tables;
expect(tables.toArray().length).toEqual(2);
for (let i = 0; i < tables.count; i++)
{
console.log(`Start of Table ${i}`);
let rows = tables.at(i).rows;
for (let j = 0; j < rows.count; j++)
{
console.log(`\tStart of Row ${j}`);
let cells = rows.at(j).cells;
for (let k = 0; k < cells.count; k++)
{
let cellText = cells.at(k).toString(aw.SaveFormat.Text).trim();
console.log(`\t\tContents of Cell:${k} = \"${cellText}\"`);
}
console.log(`\tEnd of Row ${j}`);
}
console.log(`End of Table ${i}\n`);
}
Shows how to build a nested table without using a document builder.
test('CreateNestedTable', () => {
let doc = new aw.Document();
// Create the outer table with three rows and four columns, and then add it to the document.
let outerTable = createTable(doc, 3, 4, "Outer Table");
doc.firstSection.body.appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
let innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.firstRow.firstCell.appendChild(innerTable);
doc.save(base.artifactsDir + "Table.CreateNestedTable.docx");
});
/// <summary>
/// Creates a new table in the document with the given dimensions and text in each cell.
/// </summary>
function createTable(doc, rowCount, cellCount, cellText)
{
let table = new aw.Tables.Table(doc);
for (let rowId = 1; rowId <= rowCount; rowId++)
{
let row = new aw.Tables.Row(doc);
table.appendChild(row);
for (let cellId = 1; cellId <= cellCount; cellId++)
{
let cell = new aw.Tables.Cell(doc);
cell.appendChild(new aw.Paragraph(doc));
cell.firstParagraph.appendChild(new aw.Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.title = "Aspose table title";
table.description = "Aspose table description";
return table;
}
See Also
- module Aspose.Words.Tables
- class CompositeNode