открыть зашифрованную книгу Excel в виде zip-архива (я знаю пароль) - PullRequest
0 голосов
/ 19 сентября 2018

Файлы Excel под капотом представляют собой zip-архив XML-файлов.Можно получить доступ к отдельным xmls, не открывая приложение Excel:

import zipfile
with zipfile.ZipFile('some_workbook.xlsx', 'r') as zf:
    zf.read('some.xml')

Но для книг, зашифрованных паролем, это не работает.

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-8-64b8af6320bd>", line 1, in <module>
with zipfile.ZipFile('Book1.xlsm', 'r') as zf:
  File "C:\ProgramData\Anaconda3\Lib\zipfile.py", line 1108, in __init__
self._RealGetContents()
  File "C:\ProgramData\Anaconda3\Lib\zipfile.py", line 1175, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Кто-нибудь знает, как получить доступ к зашифрованной книге в виде zip-архива, не открывая сначала Excel и не удаляя пароль?Я знаю пароль, но не хочу открывать Excel, чтобы удалить его.

Я ищу программный подход с Python, не заинтересованный в стороннем программном обеспечении.

...