Estilo de fuente de una celda con Python y openpyxl

Hoy veremos cómo seleccionar el estilo de fuente del texto de una celda con Python usando el módulo openpyxl. Para usar el módulo openpyxl debemos instalarlo previamente. En la entrada Trabajar con archivos de Excel en Python con openpyxl hablamos sobre la instalación del módulo y hacemos una breve introducción.

El submódulo Font del styles nos permitirá definir el estilo de letra. Podemos seleccionar el tipo fuente, color y tamaño el texto que contenga una celda. Vamos a comenzar importando los módulos necesarios.

from openpyxl import Workbook
from openpyxl.styles import Font

A continuación creamos el libro con el que vamos a trabajar y seleccionamos una celda. Font nos permite seleccionar el tipo de letra (name), el tamaño (size) y color que queremos utilizar. En el tipo de letra debemos colocar el nombre. El color se define de forma aRGB. En la celda seleccionada colocaremos la cadena Muestra para ver el estilo que le asignaremos.

libro = Workbook()
hoja = libro.active
celda = hoja["B2"]
hoja["B2"] = "Muestra"
celda.font = Font(name = 'Arial', size = 14, color='00FF0000')

Vamos a guardar el libro para ver el resultado. Si la ruta donde deseas guardar el libro no está especificada, entonces se creará el archivo en la ruta en la que te encontrabas al momento de abrir el interprete.

libro.save('demoFont.xlsx')

Abre el archivo, la celda B2 mostrará el texto Muestra en rojo con letra Arial de tamaño 14.

Estilo de fuente de una celda con Python y openpyxl - Texto en Arial tamaño 14 color rojo
Texto en Arial tamaño 14 color rojo

Las líneas anteriores asignaron el formato de tipo de fuente, tamaño y color directamente al contenido de una celda, pero podemos referenciar ese formato con una variable para poder utilizarlo posteriormente. Antes de seguir con las modificaciones, cierra el archivo de Excel para que podamos seguir trabajando sin que se genere algún error.

fuente1 = Font(name = 'Calibri', size = 11, color='00FF0000')
celda2 = hoja["B4"]
hoja["B4"] = "fuente1"
celda2.font = fuente1
libro.save('demoFont.xlsx')

Vuelve a abrir el archivo y veras en la celda B4 el segundo tipo de fuente aplicada en el texto fuente1.

Estilo de fuente de una celda con Python y openpyxl - Segundo ejemplo de estilo de fuente
Segundo ejemplo de estilo de fuente

Openpyxl también nos permite poner negritas o itálicas.

celda3 = hoja["D2"]
hoja["D2"] = "bold"
fuente3 = Font(name = 'Century', bold=True, size = 11, color='00FF0000')
celda3.font = fuente3

celda4 = hoja["D4"]
hoja["D4"] = "italic"
fuente4 = Font(name = 'Comic Sans MS', italic=True, size = 11, color='00FF0000')
celda4.font = fuente4
libro.save('demoFont.xlsx')

Abre el archivo nuevamente y verás en la celda D2 el texto en negritas y en la D4 en italicas.

Estilo de fuente de una celda con Python y openpyxl - Muestra de negritas e itálicas
Muestra de negritas e itálicas

Es posible colocar el texto como superíndice o subíndice con ayuda de vertAlign. Las opciones disponibles son: subscript, baseline y superscript.

celda5= hoja["F2"]
hoja["F2"] = "subscript"
fuente5 = Font(name = 'Century', vertAlign='subscript', size = 11, color='00FF0000')
celda5.font = fuente5
celda6 = hoja["F4"]
hoja["F4"] = "baseline"
fuente6 = Font(name = 'Comic Sans MS', vertAlign='baseline', size = 11, color='00FF0000')
celda6.font = fuente6
celda7 = hoja["F6"]
hoja["F6"] = "superscript"
fuente7 = Font(name = 'Times New Roman', vertAlign='superscript', size = 11, color='00FF0000')
celda7.font = fuente7
libro.save('demoFont.xlsx')

Vuelve a abrir el archivo y ve las tres opciones disponibles en la columna F.

Estilo de fuente de una celda con Python y openpyxl - Muestra de la posición del texto
Muestra de la posición del texto

Hemos llegado al final de la entrada sobre cómo seleccionar el estilo de fuente del texto de una celda con Python usando el modulo openpyxl. Cuéntame, ¿qué te ha parecido?

¡No olvides suscribirte a nuestro boletín!

¡No enviamos spam! Lee más en nuestra política de privacidad