gpt4 book ai didi

python - 使用 Python 密码保护 Excel 文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:14 25 4
gpt4 key购买 nike

我还没有找到很多关于使用 Python 创建密码保护的 Excel 文件的主题。

在 Openpyxl 中,我确实找到了一个 SheetProtection 模块,使用:

从 openpyxl.worksheet 导入 SheetProtection

但是,问题是我不确定如何使用它。它不是 WorkbookWorksheet 的属性,所以我不能只这样做:

wb = Workbook()
ws = wb.worksheets[0]
ws_encrypted = ws.SheetProtection()
ws_encrypted.password = 'test'
...

有谁知道这样的请求是否可以用 Python 实现?谢谢!

最佳答案

这是我使用的解决方法。它会生成一个 VBS 脚本并从您的 Python 脚本中调用它。

def set_password(excel_file_path, pw):

from pathlib import Path

excel_file_path = Path(excel_file_path)

vbs_script = \
f"""' Save with password required upon opening

Set excel_object = CreateObject("Excel.Application")
Set workbook = excel_object.Workbooks.Open("{excel_file_path}")

excel_object.DisplayAlerts = False
excel_object.Visible = False

workbook.SaveAs "{excel_file_path}",, "{pw}"

excel_object.Application.Quit
"""

# write
vbs_script_path = excel_file_path.parent.joinpath("set_pw.vbs")
with open(vbs_script_path, "w") as file:
file.write(vbs_script)

#execute
subprocess.call(['cscript.exe', str(vbs_script_path)])

# remove
vbs_script_path.unlink()

return None

关于python - 使用 Python 密码保护 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122496/

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