Horizontal alignement du texte dans openpyxl
Je suis tryign pour modifier l'alignement du texte au centre de 2 fusionné vend, j'ai trouvé des réponses qui n'a pas fonctionné pour mon cas
currentCell = ws.cell('A1')
currentCell.style.alignment.horizontal = 'center' #TypeError: cannot set horizontal attribute
#or
currentCell.style.alignment.vertical = Alignment.HORIZONTAL_CENTER #AttributeError: type object 'Alignment' has no attribute 'HORIZONTAL_CENTER'
les deux ne fonctionne pas, est-il d'autres façons de le faire?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez atteindre cet objectif par l'utilisation de Python XlsxWriter de la bibliothèque.
Ici, j'ai fusionné les cellules A1, B1 et ajouté un format de cellule paramètre qui inclut le paramètre align affecté en tant que centre de.
write_rich_string()
n'est pas nécessaire. Vous pouvez obtenir le même effet comme suit:worksheet.merge_range('A1:B1', "Example", cell_format)
.oui, il y a un moyen de le faire avec openpyxl:
espère que cela va vous aider à
C'est ce qui a finalement fonctionné pour moi avec la dernière version du PIP (2.2.5)
Aucune des autres solutions n'a fonctionné pour moi, depuis ma solution nécessite openpyxl, et au moins dans 2.1.5 cellule.l'alignement ne peut pas être définie directement.
Ci-dessus copie le style actuel et remplace l'alignement.
Vous pouvez également créer un tout nouveau style - avec toutes les valeurs non précisé prenant les valeurs par défaut de https://openpyxl.readthedocs.org/en/latest/styles.html
Style
classe n'est plus utilisé; il attribuer à l'individu des éléments de style directement. Pour cet exemple, vous pouvez assignercell.font = Font(bold=True)
etcell.alignment = Alignment(horizontal='center')
et (pas dans l'exemple)cell.fill = PatternFill(fgColor='33489F', fill_type='solid')