Разделяне на таблицата
Таблица, представена в Aspose.Words Document Object Model, е съставена от независими редове и клетки, което улеснява разделянето на една маса.
За да манипулираме масата, за да я разделим на две маси, трябва да преместим някои от редовете от първоначалната таблица към новата. За да направим това, трябва да изберем реда, по който искаме да разделим масата.
Можем да създадем две таблици от оригиналната таблица, като следваме следните прости стъпки:
- Създаване на клонинг на масата, без клониране на децата, за да запазите преместените редове и да ги поставите след първоначалната таблица
- Започвайки от посочения ред, премести всички следващи редове към втората таблица
Следният пример за код показва как да се раздели таблица на две таблици на определен ред:
// 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"); |