Unisci le celle in Word usando Python

Questo articolo spiega come unire celle in Word usando Python. Contiene le risorse per impostare l’ambiente di sviluppo, un elenco di passaggi di programmazione e un codice di esempio che dimostra come unire celle in Microsoft Word usando Python. Imparerai a eseguire l’attività usando un metodo predefinito per unire le celle in una tabella.

Passaggi per unire le celle in una tabella di Word utilizzando Python

  1. Imposta l’ambiente per utilizzare Aspose.Words per Python tramite .NET per unire le celle della tabella
  2. Aggiungi il metodo predefinito mergeCells() nella tua applicazione per combinare le celle
  3. Carica il file Word di origine con le tabelle nell’oggetto di classe Document per unire le celle
  4. Ottieni un riferimento alla prima e all’ultima cella nella tabella di destinazione
  5. Chiama il metodo mergeCells() con la prima e l’ultima cella definite
  6. Save il file Word modificato con celle unite

Questi passaggi riassumono come unire celle in Word usando Python. Aggiungi il metodo predefinito nel progetto e carica il file Word nell’oggetto della classe Document, accedi alla sezione di destinazione e alla tabella usando il suo indice. Ottieni un riferimento alla prima e all’ultima cella nell’intervallo di celle desiderato per l’unione e usa il metodo mergeCells() per unire l’intervallo.

Codice per combinare le celle in Word usando Python

import aspose.words as aw
import aspose.pydrawing as drawing
def mergeCells(startCell: aw.tables.Cell, endCell: aw.tables.Cell):
parentTable = startCell.parent_row.parent_table
# Find the start and end cell position
startCellPos = drawing.Point(startCell.parent_row.index_of(startCell), parentTable.index_of(startCell.parent_row))
endCellPos = drawing.Point(endCell.parent_row.index_of(endCell), parentTable.index_of(endCell.parent_row))
# Create a range of cells
mergeRange = drawing.Rectangle(
min(startCellPos.x, endCellPos.x),
min(startCellPos.y, endCellPos.y),
abs(endCellPos.x - startCellPos.x) + 1,
abs(endCellPos.y - startCellPos.y) + 1)
for row in parentTable.rows:
row = row.as_row()
for cell in row.cells:
cell = cell.as_cell()
currentPos = drawing.Point(row.index_of(cell), parentTable.index_of(row))
# Merge the cell if inside the range
if mergeRange.contains(currentPos):
cell.cell_format.horizontal_merge = aw.tables.CellMerge.FIRST if currentPos.x == mergeRange.x else aw.tables.CellMerge.PREVIOUS
cell.cell_format.vertical_merge = aw.tables.CellMerge.FIRST if currentPos.y == mergeRange.y else aw.tables.CellMerge.PREVIOUS
# Load the license
wordLic = aw.License()
wordLic.set_license("license.lic")
tableDoc = aw.Document("Table.docx")
table = tableDoc.first_section.body.tables[0]
# Define start and end cell for the range
cellStartRange = table.rows[0].cells[0]
cellEndRange = table.rows[1].cells[1]
# Merge cells
mergeCells(cellStartRange, cellEndRange)
tableDoc.save("output.docx")
print ("Table cells merged successfully")

Questo codice di esempio dimostra come unire tabelle in Word usando Python combinando le celle. Ogni cella ha una proprietà di unione orizzontale e verticale impostata su un valore diverso dell’enumeratore CellMerge quando l’intervallo di celle viene unito. Puoi lavorare con le stesse proprietà mentre crei una nuova tabella e unisci le celle orizzontalmente o verticalmente.

Questo articolo riguarda il processo di unione di più celle in una tabella di Word. Se vuoi unire file Word completi, fai riferimento all’articolo su come unire documenti Word usando Python.

 Italiano