как открыть excel только для чтения из python с помощью win32com

Мне нужно открыть файл xls из python, используя win32com как доступный только для чтения, и я, похоже, не получаю желаемого эффекта.

Вот что я делаю:

import win32com

xl = win32com.client.Dispatch('Excel.Application')
wb = xl.Workbooks.Open(file_path, ReadOnly=1) # 1 is for readonly

Откроется рабочая книга и отобразятся данные; однако файл не открывается только для чтения.
per MSDN должна вызывать эффект только для чтения, но это не так.

Кому-нибудь уже приходилось сталкиваться с подобной проблемой?


person JavaFan    schedule 13.08.2019    source источник
comment
Что нужно получить из трудовой книжки? Таблица информации?   -  person chucklukowski    schedule 13.08.2019
comment
Хотя есть лучшие способы доступа к документу Excel, чем использование win32com, попробуйте установить ReadOnly на True вместо 1   -  person FishMonkey    schedule 13.08.2019


Ответы (1)


ReadyOnly — это третий параметр в соответствии с документация. Передайте None для UpdateLinks и True для ReadyOnly.

wb = xl.Workbooks.Open(file_path, None, True)
person EylM    schedule 13.08.2019
comment
@EyIM, спасибо большое! это было именно то, чего мне не хватало. Я слишком привык к именованным параметрам в python... Еще раз спасибо!! - person JavaFan; 13.08.2019