Scalanie komórek w programie Word za pomocą języka Python

W tym artykule opisano, jak scalić komórki w Word przy użyciu Pythona. Zawiera zasoby do ustawienia środowiska programistycznego, listę kroków programowania i przykładowy kod demonstrujący scalanie komórek w programie Microsoft Word przy użyciu Pythona. Nauczysz się wykonywać to zadanie, używając wstępnie zdefiniowanej metody scalania komórek w tabeli.

Kroki scalania komórek w tabeli programu Word za pomocą języka Python

  1. Ustaw środowisko tak, aby używało Aspose.Words dla Pythona przez .NET do scalania komórek tabeli
  2. Dodaj wstępnie zdefiniowaną metodę mergeCells() w swojej aplikacji, aby połączyć komórki
  3. Załaduj plik źródłowy Word z tabelami do obiektu klasy Document w celu scalenia komórek
  4. Pobierz odwołanie do pierwszej i ostatniej komórki w tabeli docelowej
  5. Wywołaj metodę mergeCells() ze zdefiniowaną pierwszą i ostatnią komórką
  6. Save zmodyfikowany plik Word ze scalonymi komórkami

Te kroki podsumowują jak scalić komórki w programie Word za pomocą języka Python. Dodaj wstępnie zdefiniowaną metodę w projekcie i załaduj plik programu Word do obiektu klasy Document, uzyskaj dostęp do sekcji docelowej i tabeli za pomocą jej indeksu. Uzyskaj odwołanie do pierwszej i ostatniej komórki w żądanym zakresie komórek do scalenia i użyj metody mergeCells(), aby scalić zakres.

Kod do łączenia komórek w programie Word za pomocą języka 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")

Ten przykładowy kod pokazuje jak scalić tabele w programie Word za pomocą Pythona poprzez połączenie komórek. Każda komórka ma właściwość scalania poziomego i pionowego ustawioną na inną wartość enumeratora CellMerge, gdy zakres komórek jest scalany. Możesz pracować z tymi samymi właściwościami podczas tworzenia nowej tabeli i scalania komórek poziomo lub pionowo.

W tym artykule opisano proces scalania wielu komórek w tabeli programu Word. Jeśli chcesz scalić całe pliki programu Word, zapoznaj się z artykułem na temat jak scalać dokumenty Worda za pomocą Pythona.

 Polski