Как заставить 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 .

  • Создание сбоя UserTracker в привязках python NITE2
  • Существует ли пустой пул в python?
  • Как программно подсчитать количество файлов в архиве с помощью python
  • Как создать строку с фиксированным размером в python?
  • Ошибка: Сломанная труба
  • PyQt - несколько табличных виджетов и табличек
  • Динамически интегрировать списки списков в классе
  • Пакет Cython с __init __. Pyx: Возможно?
  • Flask не находит маршруты в импортированных модулях
  • Расширения для ноутбуков IPython: проблемы с совместимостью b / w calico & jupyter_contrib_nbextensions
  • Глобальное имя в Python
  •  
    Interesting Posts for Van-Lav

    Раздельный график проверки и обучения при использовании очередей для подачи данных в сеть в Tensorflow

    Как получить индекс самого большого списка внутри списка списков с помощью Python?

    SMTP через Exchange с использованием встроенной проверки подлинности Windows (NTLM) с использованием Python

    Установка имени пакета RPM в bdist_rpm

    Python отправляет данные в исполняемый файл, переданный как параметр в терминале

    Как сделать мои модульные тесты Python для импорта тестируемых модулей, если они находятся в папках сестра?

    Запустить django-admin startproject, если папка проекта уже существует

    Выполните обратную суммарную сумму на массив numpy

    Подпроцесс Python, процесс уничтожения после временной задержки

    Проверьте, является ли число нечетным или даже в python

    Python 3.x BaseHTTPServer или http.server

    PyQt QTcpServer: как вернуть данные нескольким клиентам?

    3d Math Library для Python

    Каков предпочтительный / популярный боксерский ящик для Django?

    "найти . -regex … "в Python или Как найти файлы, чье имя (путь + имя) соответствует регулярному выражению?

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