Файлы 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, не заинтересованный в стороннем программном обеспечении.