Class Cell
Содержание
[
Скрывать
]
Cell class
Представляет ячейку таблицы.
public class Cell : CompositeNode
Конструкторы
Имя | Описание |
---|---|
Cell(DocumentBase) | Инициализирует новый экземпляр Клетка класс. |
Характеристики
Имя | Описание |
---|---|
CellFormat { get; } | Предоставляет доступ к свойствам форматирования ячейки. |
ChildNodes { get; } | Получает все непосредственные дочерние узлы этого узла. |
Count { get; } | Получает количество непосредственных дочерних элементов этого узла. |
CustomNodeId { get; set; } | Указывает идентификатор пользовательского узла. |
virtual Document { get; } | Получает документ, которому принадлежит этот узел. |
FirstChild { get; } | Получает первого потомка узла. |
FirstParagraph { get; } | Получает первый абзац среди непосредственных дочерних элементов. |
HasChildNodes { get; } | Возвращает true, если у этого узла есть дочерние узлы. |
override IsComposite { get; } | Возвращает true, так как этот узел может иметь дочерние узлы. |
IsFirstCell { get; } | Истинно, если это первая ячейка в строке; false иначе. |
IsLastCell { get; } | Истинно, если это последняя ячейка в строке; false иначе. |
LastChild { get; } | Получает последний дочерний элемент узла. |
LastParagraph { get; } | Получает последний абзац среди непосредственных дочерних элементов. |
NextSibling { get; } | Получает узел, следующий сразу за этим узлом. |
override NodeType { get; } | Возвращает NodeType.Cell . |
Paragraphs { get; } | Получает коллекцию абзацев, которые являются непосредственными дочерними элементами ячейки. |
ParentNode { get; } | Получает непосредственного родителя этого узла. |
ParentRow { get; } | Возвращает родительскую строку ячейки. |
PreviousSibling { get; } | Получает узел, непосредственно предшествующий этому узлу. |
Range { get; } | Возвращает Диапазон объект, представляющий часть документа, содержащегося в этом узле. |
Tables { get; } | Получает набор таблиц, которые являются непосредственными дочерними элементами ячейки. |
Методы
Имя | Описание |
---|---|
override Accept(DocumentVisitor) | Принимает посетителя. |
AppendChild(Node) | Добавляет указанный узел в конец списка дочерних узлов для этого узла. |
Clone(bool) | Создает дубликат узла. |
CreateNavigator() | Зарезервировано для системного использования. IXPathNavigable. |
EnsureMinimum() | Если последний дочерний элемент не является абзацем, создает и добавляет один пустой абзац. |
GetAncestor(NodeType) | Получает первого предка указанногоNodeType . |
GetAncestor(Type) | Получает первого предка указанного типа объекта. |
GetChild(NodeType, int, bool) | Возвращает N-й дочерний узел, соответствующий указанному типу. |
GetChildNodes(NodeType, bool) | Возвращает динамическую коллекцию дочерних узлов, соответствующих указанному типу. |
GetEnumerator() | Обеспечивает поддержку для каждой итерации стиля над дочерними узлами этого узла. |
override GetText() | Получает текст этого узла и всех его дочерних элементов. |
IndexOf(Node) | Возвращает индекс указанного дочернего узла в массиве дочерних узлов. |
InsertAfter(Node, Node) | Вставляет указанный узел сразу после указанного ссылочного узла. |
InsertBefore(Node, Node) | Вставляет указанный узел непосредственно перед указанным ссылочным узлом. |
NextPreOrder(Node) | Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
PrependChild(Node) | Добавляет указанный узел в начало списка дочерних узлов для этого узла. |
PreviousPreOrder(Node) | Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
Remove() | Удаляет себя из родителя. |
RemoveAllChildren() | Удаляет все дочерние узлы текущего узла. |
RemoveChild(Node) | Удаляет указанный дочерний узел. |
RemoveSmartTags() | Удаляет всеSmartTag узлы-потомки текущего узла. |
SelectNodes(string) | Выбирает список узлов, соответствующих выражению XPath. |
SelectSingleNode(string) | Выбирает первый узел, соответствующий выражению XPath. |
ToString(SaveFormat) | Экспортирует содержимое узла в строку в указанном формате. |
ToString(SaveOptions) | Экспортирует содержимое узла в строку, используя указанные параметры сохранения. |
Примечания
Клетка может быть только ребенком Строка.
Клетка может содержать узлы блочного уровня Параграф а также Стол.
Минимальная допустимая ячейка должна иметь хотя бы один Параграф.
Примеры
Показывает, как создать таблицу.
Document doc = new Document();
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// Таблицы содержат строки, содержащие ячейки, которые могут иметь абзацы
// с типичными элементами, такими как прогоны, формы и даже другие таблицы.
// Вызов метода "EnsureMinimum" для таблицы гарантирует, что
// в таблице есть хотя бы одна строка, ячейка и абзац.
Row firstRow = new Row(doc);
table.AppendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.AppendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.AppendChild(paragraph);
// Добавляем текст к первому вызову в первой строке таблицы.
Run run = new Run(doc, "Hello world!");
paragraph.AppendChild(run);
doc.Save(ArtifactsDir + "Table.CreateTable.docx");
Показывает, как выполнить итерацию по всем таблицам в документе и распечатать содержимое каждой ячейки.
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;
// Мы можем использовать метод "ToArray" для набора строк, чтобы клонировать его в массив.
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;
// Мы можем использовать метод "ToArray" для набора ячеек, чтобы клонировать его в массив.
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");
}
Показывает, как построить вложенную таблицу без использования построителя документов.
public void CreateNestedTable()
{
Document doc = new Document();
// Создадим внешнюю таблицу с тремя строками и четырьмя столбцами, а затем добавим ее в документ.
Table outerTable = CreateTable(doc, 3, 4, "Outer Table");
doc.FirstSection.Body.AppendChild(outerTable);
// Создайте еще одну таблицу с двумя строками и двумя столбцами, а затем вставьте ее в первую ячейку первой таблицы.
Table innerTable = CreateTable(doc, 2, 2, "Inner Table");
outerTable.FirstRow.FirstCell.AppendChild(innerTable);
doc.Save(ArtifactsDir + "Table.CreateNestedTable.docx");
}
/// <summary>
/// Создает новую таблицу в документе с заданными размерами и текстом в каждой ячейке.
/// </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);
}
}
// Вы можете использовать свойства «Заголовок» и «Описание», чтобы добавить заголовок и описание соответственно к вашей таблице.
// В таблице должна быть хотя бы одна строка, прежде чем мы сможем использовать эти свойства.
// Эти свойства имеют значение для документов .docx, совместимых с ISO/IEC 29500 (см. класс OoxmlCompliance).
// Если мы сохраняем документ в форматах, предшествующих ISO/IEC 29500, Microsoft Word игнорирует эти свойства.
table.Title = "Aspose table title";
table.Description = "Aspose table description";
return table;
}
Смотрите также
- class CompositeNode
- пространство имен Aspose.Words.Tables
- сборка Aspose.Words