celdas de Excel tienen un bloqueado atributo que se habilita de forma predeterminada. Sin embargo, este atributo solo se invoca cuando el atributo de protección de la hoja de trabajo también se establece en True
. Si la hoja de cálculo no está protegida, se ignora el atributo bloqueado.
Por lo tanto, su pregunta no se enmarca mejor como cómo hacer que las celdas sean de solo lectura. Por el contrario, la pregunta es cómo hacer que las celdas se puedan editar después de proteger la hoja de trabajo.
... Aquí son:
from xlwt import Workbook, Worksheet, easyxf
# ...
# Protect worksheet - all cells will be read-only by default
my_worksheet.protect = True # defaults to False
my_worksheet.password = "something_difficult_to_guess"
# Create cell styles for both read-only and editable cells
editable = easyxf("protection: cell_locked false;")
read_only = easyxf("") # "cell_locked true" is default
# Apply your new styles when writing cells
my_worksheet.write(0, 0, "Can't touch this!", read_only)
my_worksheet.write(2, 2, "Erase me :)", editable)
# ...
Los estilos de celda (easyxf
clase) son también útiles para la declaración de color de fondo, el peso del texto, etc.
Saludos.
¿Qué pasa si tengo que proteger con contraseña todo el archivo de Excel? –