gpt4 book ai didi

python - openpyxl:密码保护整个 excel 文件 (xlsx)

转载 作者:行者123 更新时间:2023-12-04 19:50:36 29 4
gpt4 key购买 nike

我正在尝试寻找 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() 设置密码,这在他们的示例中有所不同。

最佳答案

您正在谈论以同义方式“加密/密码保护 excel xlsx 文件”的方法。但是,请注意,对于 MS Office,它们是一样的(尽管人们可能会争论这里的措辞)!这可以从下面的屏幕截图中看出,或者只需打开一个 excel 文件并转到"file",然后在“权限”下单击“保护工作簿”。

Screenshot Excel Protection

openpyxl 中的 workbookPassword 仅防止修改工作簿结构。他们的文档指出,这仅意味着

To prevent other users from viewing hidden worksheets, adding, moving, deleting, or hiding worksheets, and renaming worksheets, you can protect the structure of your workbook with a password.

另请参阅他们的文档 here .

这只是指结构,即添加/删除工作表,但它并没有明确禁止用户读取文件,也没有禁止用户编辑(已经可用的)工作表的内容!但是,设置的密码不提供加密意义上的读取保护。

我还没有找到用 openpyxl 实际加密 Excel 文件的方法,但其他包可能会这样做。我知道可以使用 Python 解密加密文件,请参见例如this post .因此,我猜你也可以用类似的方式加密这些文件,但遗憾的是现在我无法对此进行测试。

关于python - openpyxl:密码保护整个 excel 文件 (xlsx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53128388/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com