Разделенный стол

Contents
[ ]

Таблица, представленная в Aspose.Words Document Object Model, Он состоит из независимых рядов и ячеек, что позволяет легко разделить стол.

Чтобы манипулировать столом, чтобы разделить его на две таблицы, нам просто нужно переместить некоторые строки из исходной таблицы в новую. Для этого нам нужно выбрать ряд, по которому мы хотим разделить стол.

Мы можем создать две таблицы из исходной таблицы, выполнив следующие простые действия:

  1. Создайте клон стола, не клонируя детей, чтобы они держали передвигающиеся ряды и вставляли их после исходного стола
  2. Начиная с указанной строки, переместите все последующие строки на эту вторую таблицу

Следующий пример кода показывает, как разделить таблицу на две таблицы в определенной строке:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Tables.docx");
Table firstTable = (Table) doc.GetChild(NodeType.Table, 0, true);
// We will split the table at the third row (inclusive).
Row row = firstTable.Rows[2];
// Create a new container for the split table.
Table table = (Table) firstTable.Clone(false);
// Insert the container after the original.
firstTable.ParentNode.InsertAfter(table, firstTable);
// Add a buffer paragraph to ensure the tables stay apart.
firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable);
Row currentRow;
do
{
currentRow = firstTable.LastRow;
table.PrependChild(currentRow);
} while (currentRow != row);
doc.Save(ArtifactsDir + "WorkingWithTables.SplitTable.docx");
view raw split-table.cs hosted with ❤ by GitHub