Как заставить Python изменять xlsx-файлы при открытии приложения Excel?

Извините, если я задал вопрос, который, возможно, был задан раньше, но я не мог найти ответ на форумах Google и Stack Overflow.

Вопрос связан с использованием openpyxl как это самая удобная библиотека, которая работает с файлами xlsx .

  import openpyxl wb = openpyxl.load_workbook("D:/Python.xlsx") sheet = wb.active i = 0 sheet["A1"] = i wb.save("D:/Python.xlsx") 

Однако он не работает с открытым файлом excel. Я получаю сообщение об ошибке

  [Errno 13] Permission denied: 'D:/Python.xlsx' 

Я также нашел похожие вопросы:

PermissionError [errno 13] при запуске скрипта openpyxl python в Комодо

писать в открытый exceldocument

Что я могу сделать для решения этой ошибки и заставить Python работать с открытым файлом в Excel? Моя текущая версия – Python 2.7. Кроме того, если это возможно, каково решение создания такой же магии в файлах xlsm ?

UPD:

Если для первого вопроса нет решения (кроме Google Docs, возможно, благодаря @Alex), можно ли написать код, который выполняет следующий алгоритм: 1. Закройте приложение Excel и сохраните 2. У персонала на питоне, и сохранить результаты в каком-то месте в Excel 3. Открыть файл Excel в приложении Excel?

Я знаю, как делать 2. Любые мысли по 1 и 3?

UPD2:

xlwings действительно делает потрясающую работу! Только то, что мне нужно! Благодаря!

Я хочу предоставить код, который работал для меня (только другие пользователи могут найти в Google и использовать):

  import xlwings as xl import time wb = xl.Workbook.active() sheet = wb.active iter = 10 i = 0 while True: i += 1 if i <= iter: xl.Range("A1").value = i time.sleep(1) print(i) else: break wb.save() print("Done!") 

One Solution collect form web for “Как заставить Python изменять xlsx-файлы при открытии приложения Excel?”

OpenPyXL работает непосредственно с файлами; он не имеет ничего общего с программой Excel и не контролирует программу Excel. Таким образом, если файл, который он пытается изменить, заблокирован Excel, ничего не может сделать OpenPyXL.

Этот вопрос отмечен excel-vba, и это, безусловно, один из подходящих способов управления программой Excel (поэтому вы можете изменять данные во время их открытия в Excel или закрыть Excel). Если вам нужен интерфейс для Excel с использованием Python, лучшим пакетом в наши дни является xlwings .

  • Повторное диалоговое окно с Tkinter и Matplotlib в Mac OS X
  • Загрузите и сохраните файл PDF с помощью модуля запросов Python
  • pandas filter date time: TypeError: не может сравнивать даты смещения с наименьшими и средними значениями
  • BeautifulSoup4: Амперсанд в тексте
  • изменить строку во время пиража
  • cx_freeze не создает exe с помощью библиотеки pandas
  • URLError: ошибка <urlopen getaddrinfo не удалось>
  • tempfile.TemporaryDirectory контекстный менеджер в Python 2.7
  •  
    Interesting Posts for Van-Lav

    повысить ImgurClientError («JSON-декодирование ответа не удалось».) imgurpython.helpers.error.ImgurClientError: JSON-декодирование ответа не удалось

    Получить список, содержащий строковые элементы, исключая элементы, предваряемые любым другим элементом из исходного списка

    IPython.параллельно не использовать многоядерные?

    Остановка операции Reduce () в середине пути. Функциональный способ выполнения частичной текущей суммы

    Определить комбинацию клавиш в Linux с помощью Python?

    Возможно ли, чтобы lxml работал нечувствительным к регистру образом?

    Проверка того, является ли путь сокетом в Python 2.7

    Общие переменные web.py

    Установка тензорного потока в клонированной среде конды обрывает конду, окружающую ее, клонированную из

    Python-Создание объекта Class-x не имеет атрибута 'split'

    почему команда sql небезопасна?

    Временная сложность кода python для поиска самого длинного слова, которое может быть сделано из других слов в списке

    Python – тест, который преуспевает, когда исключение не возникает

    Изменить шрифт по умолчанию в Python Tkinter

    Создание переменной Pandas с использованием нескольких If-else

    Python - лучший язык программирования в мире.