Tableau divisé
Un tableau, représenté dans le Aspose.Words Document Object Model, est composé de lignes et de cellules indépendantes, ce qui facilite la division d’un tableau.
Pour manipuler un tableau afin de le diviser en deux tableaux, il suffit de déplacer certaines lignes du tableau d’origine vers le nouveau. Pour ce faire, nous devons choisir la ligne selon laquelle nous voulons diviser le tableau.
Nous pouvons créer deux tables à partir de la table d’origine en suivant ces étapes simples:
- Créez un clone de la table sans cloner les enfants pour conserver les lignes déplacées et insérez-les après la table d’origine
- En commençant à la ligne spécifiée, déplacez toutes les lignes suivantes vers cette deuxième table
L’exemple de code suivant montre comment diviser une table en deux tables sur une ligne spécifique:
// 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"); |