Dans cet article, nous travaillerons avec les tableaux en Python, nous vous montrerons la façon la plus simple de créer un tableau et de manipuler les données qu’il contient. En utilisant notre API, vous pouvez manipuler les tableaux et les exporter vers différents formats, tels que Word, Excel, PDF, etc.
Nous présenterons Aspose.Words for Python via .NET et nous concentrerons sur la création et l’insertion de tableaux à l’aide de cette API.

Aspose.Words for Python via .NET
est une bibliothèque de classes conçue pour lire et manipuler des documents de nombreux types comme Microsoft Word (DOCX, DOC, ODT), le Web (Markdown, HTML), PDF et d’autres. Avec cette API Python, vous pouvez créer, modifier, rendre et convertir des fichiers Word vers plusieurs formats, générer des rapports et visualiser vos données sans avoir besoin de logiciels externes.
Plus de 100 classes Python sont à votre disposition pour le traitement de documents et les opérations de mise en forme des données.
Travailler avec les tableaux en Python
Les tableaux permettent d’organiser de grandes quantités d’informations et de les afficher dans une structure en grille avec des lignes et des colonnes. Ils sont très utiles pour présenter des données tabulaires car ils offrent un meilleur contrôle du design du contenu.
Les tableaux sont des ensembles structurés de données composés de lignes et de colonnes. Ils sont entièrement pris en charge par notre bibliothèque, et vous pouvez facilement éditer, modifier, ajouter et supprimer des tableaux.
Ci‑dessous, nous vous montrons comment créer un nouveau tableau avec Python, et dans notre documentation, vous pouvez voir comment appliquer le formatage
, travailler avec TableStyle
, travailler avec les colonnes et les lignes
, et fusionner et scinder des tableaux
.
Créer des tableaux en Python
Notre bibliothèque propose différentes méthodes pour créer de nouveaux tableaux dans un document, et dans cet article, nous verrons comment utiliser certaines de ces méthodes.
Le tableau nouvellement créé possède des valeurs similaires aux valeurs par défaut de Microsoft Word.

Vous pouvez insérer un tableau à l’aide de la classe DocumentBuilder
, et des méthodes suivantes pour le construire :
• DocumentBuilder.start_table
• DocumentBuilder.insert_cell
• DocumentBuilder.end_row
• DocumentBuilder.end_table
• DocumentBuilder.writeln

Créer un tableau en Python en suivant ces 7 étapes :
- Démarrez le tableau avec
DocumentBuilder.start_table.
- Utilisez
DocumentBuilder.insert_cell pour insérer une cellule dans le tableau, et utilisez DocumentBuilder.cell_format pour spécifier le format de la cellule.
- Utilisez le
DocumentBuilder pour insérer le contenu de la cellule.
- Répétez simplement les étapes 2 et 3 jusqu’à ce que vous ayez terminé la ligne.
- Vous pouvez appeler la méthode
DocumentBuilder.end_row pour terminer la ligne et utiliser DocumentBuilder.row_format pour le formatage de la ligne.
- Ensuite, répétez les étapes 2 à 5 jusqu’à ce que vous ayez terminé le tableau.
- Utilisez la méthode
DocumentBuilder.end_table pour finaliser le tableau.
Plus de détails sur la classe DocumentBuilder et les méthodes de création de tableau sont décrits dans notre documentation
.
Dans l’exemple ci‑dessous, vous pouvez voir comment créer un tableau simple avec le formatage par défaut à l’aide de DocumentBuilder.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Start building the table.
builder.start_table()
builder.insert_cell()
builder.write("Row 1, Cell 1 Content.")
# Build the second cell.
builder.insert_cell()
builder.write("Row 1, Cell 2 Content.")
# Call the following method to end the row and start a new row.
builder.end_row()
# Build the first cell of the second row.
builder.insert_cell()
builder.write("Row 2, Cell 1 Content")
# Build the second cell.
builder.insert_cell()
builder.write("Row 2, Cell 2 Content.")
builder.end_row()
# Signal that we have finished building the table.
builder.end_table()
doc.save(docs_base.artifacts_dir + "WorkingWithTables.create_simple_table.docx")
Créez un tableau formaté avec DocumentBuilder
à l’aide de l’exemple de code ci‑dessous.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
table = builder.start_table()
builder.insert_cell()
# Table wide formatting must be applied after at least one row is present in the table.
table.left_indent = 20.0
# Set height and define the height rule for the header row.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST
builder.cell_format.shading.background_pattern_color = drawing.Color.from_argb(198, 217, 241)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True
builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")
# We don't need to specify this cell's width because it's inherited from the previous cell.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()
builder.cell_format.shading.background_pattern_color = drawing.Color.white
builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
# Reset height and define a different height rule for table body.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()
# Reset font formatting.
builder.font.size = 12
builder.font.bold = False
builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()
builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")
builder.insert_cell()
builder.write("Row 2, Cell 2 Content")
builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()
builder.end_table()
doc.save(docs_base.artifacts_dir + "WorkingWithTables.formatted_table.docx")
Insérer un tableau existant
Si vous avez déjà un tableau dans votre document et que vous souhaitez ajouter une copie de ce tableau afin d’y apporter des modifications, le moyen le plus simple de dupliquer un tableau consiste à utiliser la méthode Table.clone
pour conserver tout le formatage.
Dans l’exemple ci‑dessous, vous pouvez voir comment insérer un tableau, et si vous avez besoin du fichier modèle de cet exemple, vous pouvez le télécharger ici
.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Tables.docx")
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()
# Clone the table and insert it into the document after the original.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)
# Insert an empty paragraph between the two tables,
# or else they will be combined into one upon saving this has to do with document validation.
table.parent_node.insert_after(aw.Paragraph(doc), table)
doc.save(docs_base.artifacts_dir + "WorkingWithTables.clone_complete_table.docx")
Si vous avez des questions sur les tableaux, les produits Aspose.Words for Python via .NET et avez besoin d’aide de nos développeurs du support payant
pour implémenter notre API dans votre projet, n’hésitez pas à nous contacter
.