【发布时间】:2019-04-07 06:39:47
【问题描述】:
我正在尝试寻找 pythonic 方法来加密/密码保护 excel xlsx 文件。遇到了 openpyxl,在他们的文档 (https://openpyxl.readthedocs.io/en/stable/protection.html) 中声明它可以这样做。
但是,当我执行以下操作时,会提示错误消息AttributeError: 'NoneType' object has no attribute 'workbookPassword'。帮助任何人?
from openpyxl import workbook
file = 'test.xlsx' // an existing xlsx
wb = load_workbook(filename = file)
wb.security.workbookPassword = 'test_password'
wb.security.lockStructure = True
编辑:
我相信我不正确地使用了该功能,尽管在他们的文档中并不清楚。还提到可以使用此函数openpyxl.workbook.protection.WorkbookProtection.workbookPassword() 设置密码,然后在他们的示例中有所不同。
【问题讨论】:
-
检查你使用的openpyxl的版本。
-
我今天刚安装,所以它是最新的。刚刚也检查了
-
from openpyxl import __version__ __version__ '2.5.10' from openpyxl import load_workbook wb = load_workbook("Openpyxl Test.xlsx") wb.security.workbookPassword = "hshs" -
谢谢。我查了一下,最新的版本似乎是 2.5.9?尝试将要安装的版本指定为 2.5.10,但失败了...如果您能澄清一下,请感谢?
-
这是我的本地开发版本,但不相关。我只是在演示代码按预期工作,问题一定出在您的安装上。
标签: excel openpyxl password-protection