Agradeceríamos tu apoyo para extender nuestros enunciados en referencia a las ciencias de la computación.
sí, hay una manera de hacer esto con openpyxl:
from openpyxl.styles import Alignment
currentCell = ws.cell('A1') #or currentCell = ws['A1']
currentCell.alignment = Alignment(horizontal='center')
Espero que esto te ayudará
Esto es lo que finalmente me funcionó con la última versión de PIP (2.2.5)
# center all cells
for col in w_sheet.columns:
for cell in col:
# openpyxl styles aren't mutable,
# so you have to create a copy of the style, modify the copy, then set it back
alignment_obj = cell.alignment.copy(horizontal='center', vertical='center')
cell.alignment = alignment_obj
Actualizar:
A partir de la versión 2.4.0 (~2016) de openpyxl, el .copy()
El método está en desuso para los objetos StyleProxy.
Intenta cambiar las dos últimas líneas a:
from copy import copy
alignment_obj = copy(cell.alignment)
alignment_obj.horizontal = 'center'
alignment_obj.vertical = 'center'
cell.alignment = alignment_obj
Ninguna de las otras soluciones funcionó para mí, ya que mi solución requiere openpyxl, y al menos en 2.1.5 cell.alignment no se puede configurar directamente.
from openpyxl.styles import Style, Alignment
cell = ws.cell('A1')
cell.style = cell.style.copy(alignment=Alignment(horizontal='center'))
Lo anterior copia el estilo actual y reemplaza la alineación. También puede crear un estilo completamente nuevo, con cualquier valor no especificado tomando los valores predeterminados de https://openpyxl.readthedocs.org/en/latest/styles.html
cell.style = Style(alignment=Alignment(horizontal='center'),font=Font(bold=True))
# or - a tidier way
vals = 'alignment':Alignment(horizontal='center'),
'font':Font(bold=True),
new_style = Style(**vals)
cell.style = new_style