有没有办法在python xlwt中使特定单元格成为只读/写保护?
我知道有一个cell_overwrite_ok标志,它不允许覆盖单元格(所有单元格)的内容,但可以逐个单元地完成。
谢谢, 太阳
答案 0 :(得分:9)
Excel单元格具有已锁定属性,默认情况下已启用该属性。但是,仅当工作表的保护属性也设置为True
时,才会调用此属性。如果工作表未受保护,则会忽略已锁定属性。
因此,您的问题最好不是如何将单元格设为只读。相反,问题是如何在保护工作表后使单元格可编辑。
......你在这里:
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)
# ...
单元格样式(easyxf
类)对于声明背景颜色,字体粗细等也很有用。
干杯。