python - 锁定某些单元格以防止在 python openpyxl 中进行编辑

标签 python excel openpyxl

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

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

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

编辑:

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

最佳答案

锁定整个工作表:

    ws.protection.sheet = True

然后解锁可以编辑的单元格

     cell.protection = Protection(locked=False)

关于python - 锁定某些单元格以防止在 python openpyxl 中进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877091/

相关文章:

python - 在 openpyxl 中格式化图表数据标签

python - openpyxl : data-validation read/write without treatment

python - 使用 BeautifulSoup 检查是否存在没有值的属性

python - openpyxl 关闭只读工作簿

excel - 解释 Excel 逻辑 X*(Y<0.2)

vba - 这个 Excel VBA 宏太慢了

python - Openpyxl ['MergedCell'对象属性 'hyperlink'是只读]问题

python - Scikit-learn:使用经过缩放数据训练的模型预测新的原始和未缩放实例

string - 在列表中搜索子字符串的 Pythonic 方式

python - 如何将 float 组更改为字符串数组,然后保存到txt