Microsoft объявила, что добавляет поддержку Python в Excel, что должно позволить пользователям создавать мощные инструменты для анализа и управления данными. Бета-версия новой функциональности уже доступна участникам программы Microsoft 365 Insiders, а окончательное внедрение новшества в Excel для Windows ожидается с релизом версии 16.0.16818.2000.
Новая функция PY позволяет пользователям встраивать код на Python непосредственно в ячейку и выполнять как любой другой макрос или обычную функцию Excel.
При этом вместо локального запуска Python-скриптов код будет выполняться в облаке, используя изолированный гипервизором контейнер в Azure Container Instances. Поскольку Python-скрипты будут выполняться в изолированном контейнере, у них не будет доступа к каким-либо локальным ресурсам, включая локальную сеть, компьютер, файлы и токен аутентификации Microsoft 365.
Microsoft сообщает, что упомянутая контейнерная среда будет включать Python и тщательно подобранный набор библиотек Anaconda для предотвращения проблем с безопасностью (например, инструмент для визуализации и анализа данных pandas и инструмент для визуализации Matplotlib).
Таким образом, чтобы встроить Python-скрипт в Excel, пользователи будут использовать функцию =PY()
, чтобы открыть текстовую область, куда можно ввести код на Python, который нужно выполнить. Затем этот код будет выполнен в облачном контейнере, а результаты отправлены обратно и отображены в файле.
Microsoft подчеркивает, что все это будет происходить анонимно, то есть Python-код нельзя будет связать с конкретным пользователем.
Также отмечается, что Python в Excel будет рассматривать точно так же, как и другие встроенные сценарные языки, то есть если документ загружен из интернета или других недоверенных источников и имеет маркировку MoTW (Mark of The Web), буде применяться автоматическая блокировка.
«Если вы откроете рабочую книгу (workbook) из интернета, содержащую Python-код, Excel Protected View не позволит запустить формулы Python в рабочей книге. Если же рабочая книга открыта с помощью Microsoft Defender Application Guard, формулы Python не запустятся по умолчанию», — объяснили в Microsoft.