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
- Ustaw środowisko tak, aby używało Aspose.Words dla Pythona przez .NET do scalania komórek tabeli
- Dodaj wstępnie zdefiniowaną metodę mergeCells() w swojej aplikacji, aby połączyć komórki
- Załaduj plik źródłowy Word z tabelami do obiektu klasy Document w celu scalenia komórek
- Pobierz odwołanie do pierwszej i ostatniej komórki w tabeli docelowej
- Wywołaj metodę mergeCells() ze zdefiniowaną pierwszą i ostatnią komórką
- 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.