基本流程為,將excel 格式 改為rar, 然后用rar軟件打開, 將 xl -> worksheet -> sheet*.xml 做下修改, 把sheet*.xml 里面的密碼保護字段移除。
具體步驟如下:
修改格式為rar, 然后用rar打開,找到 xl -> worksheet 目錄, 把所有的sheet.xml 拖拉出來,到一個新的文件夾
把腳本替換文件replace.py 放到此文件夾中,運行
然后在rar中,把所有sheet.xml 刪除
然后把,剛剛拖出來,處理過的sheet.xml , 拖進rar里
關閉,rar, 把rar格式修改為之前的excel。
# -*- coding:utf-8 -*- import re,os,io def alter(file,old_str,new_str): with io.open(file, "r", encoding="utf-8") as f1, io.open("%s.bak" % file, "w", encoding="utf-8") as f2: for line in f1: f2.write(re.sub(old_str,new_str,line)) os.remove(file) os.rename("%s.bak" % file, file) def getFiles(dir, suffix): # 遍歷所有文件 res = [] for root, directory, files in os.walk(dir): for filename in files: name, suf = os.path.splitext(filename) if suf == suffix: res.append(os.path.join(root, filename)) return res for file in getFiles("./", '.xml'): alter(file, "<sheetProtection[^<>]*>", "")