Сплит Таблица

Contents
[ ]

Таблица, представена в модел Aspose.Words документ обект, се състои от независими редове и клетки, което улеснява разделянето на таблица.

За да манипулираме таблица, за да я разделим на две таблици, просто трябва да преместим някои от редовете от първоначалната таблица в новата. За да направим това, трябва да изберем реда, по който искаме да разделим таблицата.

Можем да създадем две таблици от оригиналната таблица, като следвате тези прости стъпки:

  1. Създайте клонинг на таблицата без клониране на децата, за да запазите преместените редове и да ги вмъкнете след оригиналната таблица
  2. Започвайки от посочения ред, преместете всички следващи редове в тази втора таблица

Следващият пример за код показва как да разделите таблица на две таблици на определен ред:

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