繁体   English   中英

在python openpyxl中锁定一些单元格进行编辑

[英]Lock some cells from editing in python openpyxl

我正在使用openpyxl来处理Microsoft Excel文件(.xlsx / .xlsm),但我正在努力锁定单元格(即阻止编辑)。 我目前的代码是这样的:

lock = Protection(locked=True,
                    hidden=False)
ws['A1'].protection = lock  # ws is my worksheet

但是,我仍然可以编辑单元格A1 我该如何解决?

编辑:

链接 (指向openpyxl电子邮件链)建议锁定整个工作表,然后解锁所有单元格,但对于A1 但是,这看起来不像是一个可靠的解决方案,因为我将转储大量数据。

锁定整张纸:

    ws.protection.sheet = True

然后解锁可编辑的单元格

     cell.protection = Protection(locked=False)

您还需要为整个工作表设置保护。 规范说明了关于单个细胞的保护:

一个布尔值,指示单元格是否已锁定。 当单元格被标记为“已锁定”且工作表受到保护时,这些单元格将禁止在Sheet Part的sheetProtection元素(第18.3.1.85节)中指定的选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM