如何用Python为Excel文件设置写保护密码并允许只读访问?
如何用Python为Excel文件设置写保护密码并允许只读访问?
嗨,我来帮你搞定这个问题!你当前用的read_only_recommended()其实只是给Excel加了个「建议只读」的打开提示——用户完全可以点「启用编辑」绕过这个限制,没法真正阻止他人修改文件。
要实现无密码可只读访问,修改必须输入密码的效果,咱们可以直接用XlsxWriter自带的set_password()方法,这才是真正的写保护密码设置。修改你的代码就行:
import pandas as pd # 这里假设你的df4是已经准备好的DataFrame with pd.ExcelWriter("asd.xlsx", engine="xlsxwriter") as excel_writer: df4.to_excel(excel_writer, index=False, sheet_name="Sheet1") # 设置修改权限密码:用户可无密码打开只读,编辑保存需输入此密码 excel_writer.book.set_password("your_custom_password") # 可选:保留只读推荐提示,让用户打开时更明确可选模式 excel_writer.book.read_only_recommended()
关键说明:
set_password()这里设置的是修改权限密码,不是打开密码——用户打开文件时可以自由选择「只读」模式,无需输入密码;只有想要编辑并保存时,才会要求输入正确密码。- 密码是区分大小写的,设置时要注意字符的大小写细节
- 这个功能是XlsxWriter原生支持的,不需要额外安装其他库
如果你之后需要切换到其他Excel引擎(比如openpyxl),也能实现类似效果,但基于你当前的代码,用XlsxWriter的方案是最直接的。
备注:内容来源于stack exchange,提问作者macikeci
相关产品推荐
相关产品推荐

