Este artigo orienta sobre como mesclar células em Word usando Python. Ele tem os recursos para definir o ambiente de desenvolvimento, uma lista de etapas de programação e um código de exemplo demonstrando como mesclar células no Microsoft Word usando Python. Você aprenderá a executar a tarefa usando um método predefinido para mesclar as células em uma tabela.
Etapas para mesclar células em uma tabela do Word usando Python
- Defina o ambiente para usar Aspose.Words para Python via .NET para mesclar células de tabela
- Adicione o método predefinido mergeCells() em seu aplicativo para combinar células
- Carregue o arquivo Word de origem com tabelas no objeto de classe Document para mesclar células
- Obter uma referência à primeira e última célula na tabela de destino
- Chame o método mergeCells() com a primeira e a última célula definidas
- Save o arquivo Word modificado com células mescladas
Estas etapas resumem como mesclar células no Word usando Python. Adicione o método predefinido no projeto e carregue o arquivo do Word no objeto de classe Document, acesse a seção de destino e a tabela usando seu índice. Obtenha uma referência à primeira e à última célula no intervalo de células desejado para mesclagem e use o método mergeCells() para mesclar o intervalo.
Código para combinar células no 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") |
Este código de exemplo demonstra como mesclar tabelas no Word usando Python combinando as células. Cada célula tem uma propriedade de mesclagem horizontal e vertical definida para um valor de enumerador CellMerge diferente quando o intervalo de células é mesclado. Você pode trabalhar com as mesmas propriedades ao criar uma nova tabela e mesclar células horizontal ou verticalmente.
Este artigo aborda o processo de mesclar várias células em uma tabela do Word. Se você quiser mesclar arquivos completos do Word, consulte o artigo em como mesclar documentos do Word usando Python.