Table
Содержание
[
Скрывать
]Table class
Представляет таблицу в документе Word.
Чтобы узнать больше, посетитеРабота с таблицами документальная статья.
public class Table : CompositeNode
Конструкторы
Имя | Описание |
---|---|
Table(DocumentBase) | Инициализирует новый экземплярTable класс. |
Характеристики
Имя | Описание |
---|---|
AbsoluteHorizontalDistance { get; set; } | Возвращает или задает абсолютное горизонтальное положение плавающей таблицы, указанное свойствами таблицы, в пунктах. Значение по умолчанию — 0. |
AbsoluteVerticalDistance { get; set; } | Возвращает или задает абсолютное вертикальное положение плавающей таблицы, указанное свойствами таблицы, в пунктах. Значение по умолчанию — 0. |
Alignment { get; set; } | Указывает, как встроенная таблица выравнивается в документе. |
AllowAutoFit { get; set; } | Позволяет Microsoft Word и Aspose.Words автоматически изменять размер ячеек в таблице в соответствии с их содержимым. |
AllowCellSpacing { get; set; } | Возвращает или задает параметр «Разрешить интервал между ячейками». |
AllowOverlap { get; } | Определяет, должна ли плавающая таблица позволять другим плавающим объектам в документе перекрывать ее экстенты при отображении. Значение по умолчанию:истинный . |
Bidi { get; set; } | Возвращает или задает, является ли эта таблица таблицей с направлением справа налево. |
BottomPadding { get; set; } | Возвращает или задает размер пространства (в пунктах), добавляемого под содержимым ячеек. |
CellSpacing { get; set; } | Возвращает или задает величину пространства (в пунктах) между ячейками. |
Count { get; } | Получает количество непосредственных потомков этого узла. |
CustomNodeId { get; set; } | Указывает пользовательский идентификатор узла. |
Description { get; set; } | Получает или задает описание этой таблицы. Предоставляет альтернативное текстовое представление информации, содержащейся в таблице. |
DistanceBottom { get; set; } | Возвращает или задает расстояние между нижней частью таблицы и окружающим текстом в пунктах. |
DistanceLeft { get; set; } | Возвращает или задает расстояние между левым краем таблицы и окружающим текстом в пунктах. |
DistanceRight { get; set; } | Возвращает или задает расстояние между правым краем таблицы и окружающим текстом в пунктах. |
DistanceTop { get; set; } | Возвращает или задает расстояние между верхом таблицы и окружающим текстом в пунктах. |
virtual Document { get; } | Получает документ, к которому принадлежит этот узел. |
FirstChild { get; } | Получает первый дочерний элемент узла. |
FirstRow { get; } | Возвращает первыйRow узел в таблице. |
HasChildNodes { get; } | Возвратистинный если у этого узла есть дочерние узлы. |
HorizontalAnchor { get; set; } | Получает базовый объект, на основе которого следует рассчитать горизонтальное положение плавающей таблицы. Значение по умолчанию:Column . |
override IsComposite { get; } | Возвратистинный так как этот узел может иметь дочерние узлы. |
LastChild { get; } | Получает последний дочерний элемент узла. |
LastRow { get; } | Возвращает последнийRow узел в таблице. |
LeftIndent { get; set; } | Возвращает или задает значение, представляющее левый отступ таблицы. |
LeftPadding { get; set; } | Возвращает или задает размер пространства (в пунктах), добавляемого слева от содержимого ячеек. |
NextSibling { get; } | Получает узел, следующий сразу за данным узлом. |
override NodeType { get; } | ВозвратTable . |
ParentNode { get; } | Получает непосредственного родителя этого узла. |
PreferredWidth { get; set; } | Получает или задает предпочтительную ширину таблицы. |
PreviousSibling { get; } | Получает узел, непосредственно предшествующий данному узлу. |
Range { get; } | ВозвращаетRange объект, представляющий часть документа, содержащуюся в этом узле. |
RelativeHorizontalAlignment { get; set; } | Возвращает или задает относительное горизонтальное выравнивание плавающей таблицы. |
RelativeVerticalAlignment { get; set; } | Возвращает или задает относительное вертикальное выравнивание плавающей таблицы. |
RightPadding { get; set; } | Возвращает или задает размер пространства (в пунктах), добавляемого справа от содержимого ячеек. |
Rows { get; } | Предоставляет типизированный доступ к строкам таблицы. |
Style { get; set; } | Возвращает или задает стиль таблицы, примененный к этой таблице. |
StyleIdentifier { get; set; } | Возвращает или задает независимый от локали идентификатор стиля таблицы, примененный к этой таблице. |
StyleName { get; set; } | Возвращает или задает имя стиля таблицы, примененного к этой таблице. |
StyleOptions { get; set; } | Возвращает или задает битовые флаги, которые определяют, как стиль таблицы применяется к этой таблице. |
TextWrapping { get; set; } | Получает или устанавливаетTextWrapping для таблицы. |
Title { get; set; } | Получает или задает заголовок этой таблицы. Предоставляет альтернативное текстовое представление информации, содержащейся в таблице. |
TopPadding { get; set; } | Возвращает или задает размер пространства (в пунктах), добавляемого над содержимым ячеек. |
VerticalAnchor { get; set; } | Получает базовый объект, на основе которого следует рассчитать вертикальное положение плавающей таблицы. Значение по умолчанию:Margin . |
Методы
Имя | Описание |
---|---|
override Accept(DocumentVisitor) | Принимает посетителя. |
override AcceptEnd(DocumentVisitor) | Принимает посетителя для посещения конца таблицы. |
override AcceptStart(DocumentVisitor) | Принимает посетителя для посещения начала таблицы. |
AppendChild<T>(T) | Добавляет указанный узел в конец списка дочерних узлов для данного узла. |
AutoFit(AutoFitBehavior) | Изменяет размер таблицы и ячеек в соответствии с указанным поведением автоподбора. |
ClearBorders() | Удаляет все границы таблиц и ячеек в этой таблице. |
ClearShading() | Удаляет все затенения на столе. |
Clone(bool) | Создает дубликат узла. |
ConvertToHorizontallyMergedCells() | Преобразует ячейки, объединенные по горизонтали по ширине, в ячейки, объединенные поHorizontalMerge . |
CreateNavigator() | Создает навигатор, который можно использовать для перемещения и чтения узлов. |
EnsureMinimum() | Если в таблице нет строк, создает и добавляет однуRow . |
GetAncestor(NodeType) | Получает первого предка указанногоNodeType . |
GetAncestor(Type) | Получает первого предка указанного типа объекта. |
GetChild(NodeType, int, bool) | Возвращает N-й дочерний узел, соответствующий указанному типу. |
GetChildNodes(NodeType, bool) | Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу. |
GetEnumerator() | Обеспечивает поддержку для каждой итерации стиля по дочерним узлам этого узла. |
override GetText() | Получает текст этого узла и всех его дочерних узлов. |
IndexOf(Node) | Возвращает индекс указанного дочернего узла в массиве дочерних узлов. |
InsertAfter<T>(T, Node) | Вставляет указанный узел сразу после указанного ссылочного узла. |
InsertBefore<T>(T, Node) | Вставляет указанный узел непосредственно перед указанным ссылочным узлом. |
NextPreOrder(Node) | Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
PrependChild<T>(T) | Добавляет указанный узел в начало списка дочерних узлов для данного узла. |
PreviousPreOrder(Node) | Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
Remove() | Удаляет себя из родителя. |
RemoveAllChildren() | Удаляет все дочерние узлы текущего узла. |
RemoveChild<T>(T) | Удаляет указанный дочерний узел. |
RemoveSmartTags() | Удаляет всеSmartTag узлы-потомки текущего узла. |
SelectNodes(string) | Выбирает список узлов, соответствующих выражению XPath. |
SelectSingleNode(string) | Выбирает первыйNode что соответствует выражению XPath. |
SetBorder(BorderType, LineStyle, double, Color, bool) | Устанавливает указанную границу таблицы на указанный стиль линии, ширину и цвет. |
SetBorders(LineStyle, double, Color) | Устанавливает для всех границ таблицы указанный стиль линии, ширину и цвет. |
SetShading(TextureIndex, Color, Color) | Устанавливает затенение для указанных значений по всей таблице. |
ToString(SaveFormat) | Экспортирует содержимое узла в строку указанного формата. |
ToString(SaveOptions) | Экспортирует содержимое узла в строку, используя указанные параметры сохранения. |
Примечания
Table
является узлом блочного уровня и может быть потомком классов, производных отStory
или InlineStory
.
Table
может содержать один или несколькоRow
узлы.
Минимально допустимая таблица должна иметь по крайней мере одинRow
.
Примеры
Показывает, как создать таблицу.
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");
}
Показывает, как построить отформатированную таблицу 2x2.
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();
// При построении таблицы конструктор документов применит текущие значения свойств RowFormat/CellFormat
// к текущей строке/ячейке, в которой находится курсор, и ко всем новым строкам/ячейкам по мере их создания.
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();
// Изменения в форматировании конструктора не влияют на ранее добавленные строки и ячейки.
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");
Показывает, как построить вложенную таблицу без использования конструктора документов.
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