对excel文件进行加/解密码
一、方法1代码如下
代码如下(示例):
import os, sys
import win32com.client
import time
import hashlib
def pwd_xlsx(old_filename,new_filename,pwd_str,pw_str='123456'):#
# pw_str为打开密码, 若无访问密码, 则设为 ''。如果要编辑的文件是需要密码的话,则修改上行代码
xcl = win32com.client.Dispatch("Excel.Application")
wb = xcl.Workbooks.Open(old_filename, True, True, None, pw_str)
xcl.DisplayAlerts = False
# 保存时可设置访问密码,或者不设置密码。
wb.SaveAs(new_filename, None, pwd_str, '')
xcl.Quit()
if __name__ == '__main__':
old_filename = r'C:\Users\22846\Desktop\Test.xlsx'#含密码的excel的路径,
new_filename = r'C:\Users\22846\Desktop\Test1.xlsx'#打算将解密后的excel保存路径+重命名,
pwd_str = ''#新密码自定义。此刻不设置密码,
pwd_xlsx(old_filename,new_filename,pwd_str)
二、方法2代码如下
代码如下(示例):
import xlwings as xw
app = xw.App(visible=True, add_book=False)
workbook = app.books.open(r'C:\Users\22846\Desktop\Test.xlsx') # 加密文件路径
workbook.api.Password = '123' # 对整个文件加密
workbook.api.Protect(Password='456', Structure=True) # 对目标工作簿的结构加密
worksheet = workbook.sheets['Sheet1'] # 对excel里面某张表加密
worksheet.api.Protect(Password='789', Contents=True)
workbook.save()
workbook.close()
app.quit()