我正在尝试自动化 Excel 报告,并且我希望用户不要尝试重命名或重新排序工作表。虽然我使用 xlsxwriter 保护单个单元格没有问题,但我没有看到保护工作簿本身的选项。我正在寻找 openpyxl,但教程似乎没有任何效果。
编辑:我现在正在使用这段代码,但既不会产生错误,也不会保护我的工作簿。
from openpyxl import load_workbook
from openpyxl.workbook.protection import WorkbookProtection
workbook = load_workbook(filepath, read_only=False, keep_vba=True)
workbook.security = WorkbookProtection(workbookPassword = 'secret-password', lockStructure = True)
workbook.save(filepath)
顺便说一下,我正在处理 .xlsm 文件。如果有任何解决方案或我遗漏的要点,请告诉我。
从这段代码来看:
from openpyxl.workbook.protection import WorkbookProtection
myWorkbook.security = WorkbookProtection(workBookPassword = 'super-secret-password', lockStructure = True)
myWorkbook.save(filepath)
Change:
WorkbookProtection(workBookPassword = 'super-secret-password', lockStructure = True)
to:
WorkbookProtection(workbookPassword = 'super-secret-password', lockStructure = True)
workBookPassword
应该workbookPassword
在 Python32 3.8 和 OpenPyXL 版本 3.0.2 上测试
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)