El día de hoy veremos cómo inmovilizar paneles de una hoja con Python usando el módulo openpyxl. En la entrada Trabajar con archivos de Excel en Python con openpyxl encontrarás una rápida introducción al módulo. Si aun no tienes instalado openpyxl, ahí te explicamos cómo hacerlo.
Comencemos importando el módulo que requerimos y creando el libro con el que vamos a trabajar.
from openpyxl import Workbook
libro = Workbook()
Vamos a introducir algunos datos para ver la inmovilización mas adelante.
hoja = libro.active
hoja["A1"] = "Dia"
hoja["A2"] = "Lunes"
hoja["A3"] = "Martes"
hoja["A4"] = "Miercoles"
hoja["A5"] = "Jueves"
hoja["A6"] = "Viernes"
hoja["B1"] = "Numero"
hoja["B2"] = 23
hoja["B3"] = 24
hoja["B4"] = 25
hoja["B5"] = 26
hoja["B6"] = 27
Ahora vamos a inmovilizar la primera fila y la primera columna. Para especificar la fila o columna que queremos inmovilizar, debemos colocar una celda como referencia. Se inmovilizarán las filas arriba de esa celda y las columnas que estén antes.
hoja.freeze_panes = hoja["B2"]
Vamos a guardar el libro para poder ver el resultado. Recuerda que si no especificas la ruta donde se debe guardar el archivo entonces se creará en la ruta en la que te encontrabas cuando abriste el interprete.
libro.save('demoInmovilizar.xlsx')
Busca el archivo y ábrelo. Desplázate por el archivo y notarás que la primera columna y la primera fila permanecerán inmóviles.
La inmovilización se hace hacia arriba y a la izquierda de la celda de referencia que indiquemos, de forma que si quieres inmovilizar solo la primera columna tendríamos que poner de referencia la celda B1.
hoja.freeze_panes = hoja["B1"]
libro.save('demoInmovilizar.xlsx')
Recuerda guardar el libro para poder aplicar los cambios.
Hasta aquí la enteada de hoy sobre cómo inmovilizar paneles con Python usando el módulo openpyxl. Cuéntame, ¿qué te ha parecido esta entrada?