Задача

У нас есть Excel-файл, который изначально создавался и настраивался в Excel для Windows. Внутри этого файла есть подключение к базе данных PostgreSQL через ODBC, которое сохранено как QueryTable / External Data Connection. На macOS обновление этих данных не работает из-за архитектурных ограничений Excel.

Текущая ситуация

  • В Excel под Windows обновление данных работает отлично.
  • Файл открывается в Excel для macOS.
  • Формулы, сводные таблицы и все расчеты работают корректно.
  • Проблема возникает только при попытке обновить внешние данные - Excel сообщает, что подключения к внешним данным отключены. Это связано с ограничениями Excel на macOS, а не с ошибками в SQL-запросах или самом файле.

Требуемое решение

Суть задачи:

Необходимо вынести обновление данных за пределы Excel, создав внешний механизм (скрипт) для их обновления.

Конкретные требования к скрипту:

  • Язык программирования: Предпочтительно Python.
  • Что должен делать:
    • Подключаться к базе данных PostgreSQL.
    • Выполнять SQL-запросы для выборки актуальных данных.
    • Перезаписывать соответствующие таблицы (диапазоны ячеек) внутри Excel-файла, обновляя данные.
  • Важное условие: Все имеющиеся формулы, сводные таблицы и расчеты должны сохраниться и работать. Вмешательство в структуру Excel-файла не допускается, кроме записи новых значений в заданные ячейки.
  • Итог: Excel-файл не должен содержать прямых подключений к базе данных. Обновление происходит полностью силами стороннего скрипта.