Introduction et création de tableaux
Aspose.Words permet aux utilisateurs de créer des tableaux dans un document à partir de zéro et propose plusieurs méthodes différentes pour ce faire. Cet article présente des détails sur la façon d’ajouter des tableaux formatés à votre document à l’aide de chaque méthode, ainsi qu’une comparaison de chaque méthode à la fin de l’article.
Styles de tableau par défaut
Le tableau nouvellement créé reçoit des valeurs par défaut similaires à celles utilisées dans Microsoft Word:
Propriété du tableau | Par défaut dans Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Un tableau peut être en ligne s’il est bien positionné, ou flottant s’il peut être positionné n’importe où sur la page. Par défaut, Aspose.Words crée toujours des tableaux en ligne.
|
Créer un tableau avec DocumentBuilder
Dans Aspose.Words, les utilisateurs peuvent créer un tableau dans un document à l’aide du DocumentBuilder. L’algorithme de base pour créer un tableau est le suivant:
- Démarrez le tableau avec StartTable
- Ajoutez une cellule au tableau à l’aide de InsertCell – cela démarre automatiquement une nouvelle ligne
- Vous pouvez éventuellement utiliser la propriété CellFormat pour spécifier le formatage des cellules
- Insérez le contenu de la cellule à l’aide des méthodes DocumentBuilder appropriées telles que Writeln, InsertImage et autres
- Répétez les étapes 2 à 4 jusqu’à ce que la rangée soit terminée
- Appelez EndRow pour terminer la ligne actuelle
- Vous pouvez éventuellement utiliser la propriété RowFormat pour spécifier le formatage des lignes
- Répétez les étapes 2 à 7 jusqu’à ce que le tableau soit terminé
- Appelez EndTable pour terminer la création de la table
Détails importants:
- StartTable peut également être appelé à l’intérieur d’une cellule, auquel cas il lance la création d’un tableau imbriqué au sein de la cellule.
- Après avoir appelé InsertCell, une nouvelle cellule est créée et tout contenu que vous ajoutez en utilisant d’autres méthodes de la classe DocumentBuilder sera ajouté à la cellule actuelle. Pour créer une nouvelle cellule sur la même ligne, appelez à nouveau InsertCell.
- Si InsertCell est appelé immédiatement après EndRow et la fin d’une ligne, le tableau continuera sur une nouvelle ligne.
- La méthode EndTable pour terminer la table ne doit être appelée qu’une seule fois après l’appel de EndRow. L’appel de EndTable déplace le curseur de la cellule actuelle vers la position immédiatement après le tableau.
Le processus de création d’un tableau est clairement visible dans l’image suivante:
L’exemple de code suivant montre comment créer un tableau simple à l’aide de DocumentBuilder avec le formatage par défaut:
L’exemple de code suivant montre comment créer un tableau formaté à l’aide de DocumentBuilder:
L’exemple de code suivant montre comment insérer une table imbriquée à l’aide de DocumentBuilder:
Créer un tableau via DOM (Document Object Model)
Vous pouvez insérer des tableaux directement dans le DOM en ajoutant un nouveau nœud Table à une position spécifique.
Veuillez noter qu’immédiatement après la création du nœud de table, la table elle-même sera complètement vide, c’est-à-dire qu’elle ne contient pas encore de lignes ni de cellules. Pour insérer des lignes et des cellules dans un tableau, ajoutez les nœuds enfants Row et Cell appropriés au DOM.
L’exemple de code suivant montre comment créer une nouvelle table à partir de zéro en ajoutant les nœuds enfants appropriés à l’arborescence du document:
##Create un tableau à partir de HTML
Aspose.Words prend en charge l’insertion de contenu dans un document à partir d’une source HTML à l’aide de la méthode InsertHtml. L’entrée peut être une page HTML complète ou simplement un extrait partiel.
En utilisant la méthode InsertHtml, les utilisateurs peuvent insérer des tableaux dans le document via des balises de tableau telles que <table>
, <tr>
, <td>
.
L’exemple de code suivant montre comment insérer un tableau dans un document à partir d’une chaîne contenant des balises HTML:
Insérer une copie d’une table existante
Il arrive souvent que vous deviez créer un tableau basé sur un tableau déjà existant dans un document. Le moyen le plus simple de dupliquer un tableau tout en conservant toute la mise en forme consiste à cloner le nœud Table à l’aide de la méthode Clone.
La même technique peut être utilisée pour ajouter des copies d’une ligne ou d’une cellule existante à un tableau.
L’exemple de code suivant montre comment dupliquer une table à l’aide de constructeurs de nœuds:
L’exemple de code suivant montre comment cloner la dernière ligne d’une table et l’ajouter à la table:
Si vous envisagez de créer des tableaux dans un document qui grandissent dynamiquement avec chaque enregistrement de votre source de données, la méthode ci-dessus n’est pas conseillée. Au lieu de cela, le résultat souhaité est plus facilement obtenu en utilisant Mail merge avec des régions.
Comparez les façons de créer un tableau
Aspose.Words propose plusieurs méthodes pour créer de nouveaux tableaux dans un document. Chaque méthode a ses propres avantages et inconvénients, de sorte que le choix de celle à utiliser dépend souvent de la situation spécifique.
Examinons de plus près ces façons de créer des tableaux et comparons leurs avantages et leurs inconvénients:
Méthode | Avantages | Désavantages |
---|---|---|
Via DocumentBuilder | La méthode standard pour insérer des tableaux et autres contenus de documents | Parfois difficile de créer plusieurs variétés de tables en même temps avec la même instance de constructeur |
Via DOM | S’intègre mieux au code environnant qui crée et insère des nœuds directement dans le DOM sans utiliser de DocumentBuilder | La table est créée “vide”: avant d’effectuer la plupart des opérations, vous devez appeler EnsureMinimum pour créer les éventuels nœuds enfants manquants |
À partir du HTML | Peut créer un nouveau tableau à partir d’une source HTML en utilisant des balises telles que <table> , <tr> , <td> |
Tous les formats de tableaux Microsoft Word possibles ne peuvent pas être appliqués au HTML |
Cloner une table existante | Vous pouvez créer une copie d’un tableau existant tout en conservant la mise en forme des lignes et des cellules | Les nœuds enfants appropriés doivent être supprimés avant que la table soit prête à être utilisée |