Как подключить wsp к excel
Попалась мне задачка оптимизации, а так как я большой фанат Экселя, то и выбор инструмента был скорым. Единственная пакость: Эксель дико медленный. Так, на одну итерацию уходило как минимум 35 минут, а таких итераций планировалось сделать 1275 (как минимум)!
Цель этого небольшого проектика – ускорить исполнение VBA скриптов задействуя все доступные мне железяки: GPU и CPU. Ну и до кучи, так как библиотека моя, была реализована многозадачность.
Для тех, кто любит читать только код и не любит "растекания мыслию по древу", код находится здесь, инсталлятор здесь, архивированная библиотека и примеры (Excel/VBscript) здесь. Примеры также включены в инсталляцию (папка "demo").
Предуведомление
Excel (можно и без него, см. про ненормальное программирование в самом конце).
Windows/System32/ должен содержать opencl.dll.
Структура
Внутренности библиотеки состоят из двух непересекающихся частей: конфигурации доступного оборудования (только информация, поменять там ничего нельзя) и, собственно, программирования найденных устройств.
Конфигурация
Конфигурация просто вываливает в табличку всю доступную информацию об устройствах, "до самой последней гнилушки". Логически OpenCl делит компьютер на платформы, внутри которых находятся устройства. Так, на моём домашнем компьютере обнаружилась только одна платформа с CPU на 4 процесса (Pentium 4417U 2.30GHz) и 12-ядерным GPU (Intel HD Graphics 610). А вот на компьютере жены обнаружилось целых 2 платформы: первая, с i3-7100U и 23-ядерной Intel HD Graphics 620, и вторая, опять же с i3-7100U и 5-ядерным GPU Hainan. Что интересно, интернеты говорят, что Intel HD Graphics 620 идёт с 24 ядрами. Либо OpenCl недосчитался, либо ядро отвалилось.
Программирование было реализовано на двух примерах: оценке производительности и параллельного исполнения кода.
Производительность
Производительность оценивалась двумя способами:
Умножением больших матриц.
Кодом, заимствованным с CodeProject ("How to Use Your GPU in .NET").
Время, затраченное на умножение двух матриц 2000 на 2000 (вычисления с двойной точностью) приведено на рисунке ниже. Обратите внимание на логарифмическую шкалу!
Время, затраченное на умножение двух матриц 2000 на 2000.
Ну и результаты теста производительности полностью:
Время вычисления VBA:
OpenCl на CPU в
раза быстрее VBA.
OpenCl на GPU в
раз быстрее VBA.
OpenCl на GPU в
раза быстрее CPU.
OpenCl на CPU в
раз быстрее VBA.
Следующим тестом производительности был тест, позаимствованный с CodeProject. Для моего домашнего Pentium 4417U (2 x 2.30 ГГц) выдал мне такие результаты производительности в Гфлопсах:
Асинхронность
Как, наверное, всем известно, Эксель до боли однозадачен. Чтобы запустить две задачи одновременно, надо приложить довольно много усилий. Всё описанное выше запускалось командой ExecuteSync. Тем не менее, кроме функции ExecuteSync имеются также и функции ExecuteAsync и ExecuteBackground. Отличие первой функции от второй в том, что ExecuteAsync использует callback, в то время как вторая возвращает информацию о завершении исполнения в свойстве ExecutionCompleted (True/False), которое надо время от времени опрашивать.
В принципе, первой была создана функция ExecuteAsync, но по мере тестирования было замечено, что с callback работать довольно сложно:
Эксель не любит и рушится:
Когда при отладке исполняется callback.
Когда из callback функции что-либо пишется в таблицу.
Поэтому, в примере я использую ExecuteBackground. Результат работы в асинхронном режиме просто ошеломляет! Прогресс-бар бегает, процессы исполняются параллельно на CPU и GPU, поочерёдно завершаются, причём на один завершённый процесс CPU приходится 4 процесса GPU, как и предсказывали расчёты производительности умножения матриц.
Ну и обещанное ненормальное программирование (а всё написанное до того было нормальным программированием?).
Как оказалось, Эксель особо-то и не нужен! VBscript тоже поддерживает COM, правда со своими ограничениями: отсутствие типизации приводит к тому, что массивы необходимо передавать через object или ArrayList. Тем не менее, конфигурация работает как есть даже без дополнительных телодвижений:
Конфигурация устройств через VBscript.
В пакете WaterSteamPro определено более 300 функций для вычислений свойств воды и водяного пара по формулам, предложенным Международной Ассоциацией по Свойствам Воды и Водяного Пара. Термодинамические свойства вычисляются по Формуляции 1997 для технических расчетов, а остальные свойства - по соответствующим им Формуляциям.
В пакете WaterSteamPro, начиная с версии 6.0 доступны функции для расчета свойств газов. Функции предназначены для вычисления термодинамических свойств 11-ти, входящих в состав воздуха и продуктов сгорания, газов, а также их смесей, в идеальном состоянии при температурах от 200 до 2500 К.
Область применения функций для расчета свойств газов - это расчеты термодинамических свойств воздуха, продуктов сгорания и отдельных газов при умеренных давлениях (т. к. газы рассматриваются как идеальные) в диапазоне температур от 200К до 2500К. Смеси газов также рассматриваются как идеальные.
Госстандартом России выдано свидетельство № АК-35/4 от 16.04.2001 о том, что программа WaterSteamPro воспроизводит величины, соответствующие данным, рекомендованным Государственной службой стандартных справочных данных (ГСССД Р-776-98) и уравнениям "IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam" ("Система уравнений Международной ассоциации по свойствам воды и водяного пара для вычисления термодинамических свойств воды и водяного пара в промышленных расчетах 1997 года").
Программа WaterSteamPro рекомендована Департаментом генеральной инспекции по эксплуатации электрических станций и сетей Российского акционерного общества энергетики и электрификации "ЕЭС России" для использования в энергетике (информационное письмо № ИП-14-27-2001 от 03.08.2001).
Программа WaterSteamPro может быть подключена практически ко всем программным средам (Microsoft Excel, Mathcad, Fortran, C++, Visual Basic, Delphi и т. д. ), используемых для теплотехнических расчетов.
WaterSteamPro - это функции, созданные на основе функций Международной Ассоциации по Свойствам Воды и Пара МАСВП – Inteational Association for Properties of Water and Steam (IAPWS). Теплофизические свойства рассчитываются по Формуляции 1997 года, а остальные – по их собственным формуляциям. Использую функции WaterSteamPro Вы пользуетесь новейшими уравнениями.
В WaterSteamPro поддерживаются основные технологии Windows: Win dll (32-бит. и 64-бит. ) и ActiveX (32-бит. и 64-бит. ). Во всех программах, которые поддерживают данные технологии можно использовать функции WaterSteamPro.
WaterSteamPro включает в себя примеры в Microsoft Excel, Mathcad, Visual Basic, Windows Scripting Host. Это показывает, что доступ к функциям возможен в совершенно различных программах (даже в AutoCAD 2000, в который встроена поддержка VBA - Visual Basic for Applications).
WaterSteamPro для пользователей Mathcad - это DLL, написанная по технологии User EFI. Это позволяет использовать функции WaterSteamPro аналогично встроенным функциям пакета Mathcad: например, вставлять в документ через диалог "Insert Function".
WaterSteamPro для пользователей Microsoft Excel (32-х и 64-битных версий) - это XLL-дополнение (add-in) для Excel, что позволяет вставлять функции WaterSteamPro через диалог "Вставка функции" и использовать их аналогично встроенным функциям.
WaterSteamPro - это возможность использования в MATLAB (32-х и 64-битных версиях), Scilab (32-х и 64-битных версиях), Maple и т. д.
Пакет офисных программ WPS Office (ранее назывался Kingsoft Office) в первую очередь может быть интересен пользователям Linux, но существуют версии и для других ОС: Windows, macOS и даже Android. Некоторые функции доступны по платной подписке, но основные инструменты не требуют покупки. Универсальный пакет предусматривает текстовый редактор, инструменты для работы с таблицами и презентациями.
Давайте разберемся, как пользоваться WPS Office, и рассмотрим его основные возможности.
Установка WPS Office
Установка WPS Office на Windows не займет много времени: достаточно скачать установочный файл в формате EXE с официального сайта разработчиков, затем запустить его и следовать инструкции пошагового мастера.
Для пользователей Linux инсталляция офисного набора программ также не вызовет трудностей при базовом знании терминала. В качестве дополнения рекомендуется отдельно загрузить шрифты и словари, которые есть на сайте разработчиков.
Для ОС Android пакет можно скачать через магазин приложений Play Market, достаточно ввести его название в поисковой строке. Пользователи macOS могут найти приложение в App Store.
Главное окно
Главное окно WPS Office открывает доступ ко всему инструментарию программы. В верхней панели реализована удобная система вкладок, благодаря которой можно быстро переключаться между документами. Слева находятся разделы, позволяющие создать или открыть файл, а также использовать возможности WPS Team для совместной работы с командой и дополнительные приложения.
В главном окне располагаются основные инструменты для работы с документами различных типов:
- WPS Writer – приложения для создания и редактирования файлов в формате DOC;
- Spreadsheets – инструмент для работы с таблицами, заметками, графиками;
- Presentation – программа, позволяющая создавать презентации с использованием эффектов;
- PDF – различные средства для работы с файлами в формате PDF.
Офисный пакет поддерживает работу с тремя десятками форматов, включая DOCS, XLSX, TXT, PPT. Кроме того, предусмотрена опция преобразования файла в PDF. Все перечисленные программы работают в едином поле и отрываются отдельными вкладками в меню.
Работа с текстом
Пакет WPS Office позволяет работать с текстовыми документами, предоставляя полный функционал, аналогичный известному редактору от Microsoft. При нажатии на иконку WPS Writer в главном окне откроется дополнительная вкладка с готовыми шаблонами текстовых документов. Чтобы создать новый документ, щелкните по пустому файлу, отмеченному знаком «+».
Чтобы отформатировать текст, нужно выделить фрагмент и воспользоваться инструментами на вкладке «Главная». Также здесь доступны настройки стиля и размера шрифта, установка заголовков, добавление нумерованных и маркированных списков. Для настройки отступов и выравнивания нажмите на кнопку «Параметры», затем выберите пункт «Абзац».
На вкладке «Вставка» доступны функции для добавления различных элементов в документ: таблиц, рисунков, диаграмм, графических объектов WPSArt. Также через нее можно работать с колонтитулами и нумерацией страниц. Чтобы создать оглавление документа, потребуется перейти на вкладку «Ссылки». Здесь же предусмотрены опции для создания сносок и подписей.
Проверка текста на орфографию
После это следуйте простой инструкции:
В WPS Office для Windows проверка орфографии по умолчанию идет на русском языке, поэтому дополнительно скачивать словари не придется. Чтобы изменить язык правописания на любой другой, потребуется изменить пользовательский словарь.
Создание таблиц в Spreadsheets
Приложение Spreadsheets позволяет работать с таблицами и диаграммами, причем функционал не сильно отличается от известного MS Excel. При выборе инструмента в главном окне также открывается список готовых шаблонов. Интерфейс разбит на ячейки и панели. Сверху располагается панель вкладок с основными инструментами редактора.
Spreadsheets работает с формулами, суммами, выравниваниями и другими простыми операциями. Через вкладку «Главная» возможно настроить форматирование, границы и стиль ячеек, а также установить параметры шрифта.
Для удобства использования формул на панели расположена соответствующая вкладка, через которую можно быстро отыскать математические, финансовые, логические и другие функции.
Редактор презентаций
Один из лучших бесплатных офисных пакетов предусматривает встроенные средства для создания и редактирования презентаций в формате PPT или PPTX. Доступны шаблоны документов, которые отсортированы по тематике. Для поиска готовых проектов реализована поисковая строка.
WPS Office в разделе «Презентации» предлагает удобный интерфейс со вкладками, рабочей областью и статус-баром. Разберем основные функции редактора:
- Чтобы добавить новый слайд, необходимо щелкнуть правой кнопкой мыши по свободной области в панели слева, затем в меню выбрать соответствующий пункт. Также функция доступна на вкладке «Главная».
- Для добавления различных объектов нужно перейти на вкладку «Вставка», где есть функции вставки таблиц, рисунков, фигур, диаграмм и другим элементов. Доступна и возможность перетаскивания мультимедийных объектов в окно.
- Настроить анимационные эффекты, переходы между слайдами и общий стиль презентации можно через вкладки «Дизайн», «Переходы» и «Анимация».
- Чтобы просмотреть созданную презентацию, нужно щелкнуть по значку воспроизведения ниже. На вкладке «Показ слайдов» доступна более подробная настройка параметров показа.
Внизу интерфейса предусмотрен ползунок для масштабирования окна, режим чтения, сортировщик слайдов, функция добавления примечаний и отображения заметок. При необходимости пользователь может создать автоматическую резервную копию, чтобы не потерять данные.
Отличия бесплатной и премиум-версии WPS
Главный минус бесплатной версии – реклама. Остальные инструменты работают не хуже, чем в именитом Microsoft Office.
- отсутствие рекламы,
- до 9 синхронизированных устройств,
- бесплатное облако на 20 Гб,
- расширенная библиотека шрифтов и шаблонов,
- одновременная поддержка нескольких языков,
- совместная работа над документами.
Премиум-версия работает по подписке, ее стоимость составляет $29.99 в год.
Выводы
У WPS Office нет существенных недостатков. Хочется отметить удобный интерфейс и многофункциональность – не надо качать несколько программ и работать в них отдельно, как это реализовано в Microsoft Office. Для пользователей операционной системы Linux существуют и другие бесплатные альтернативы, а в случае с Windows достойным аналогом будет только офисный пакет от Microsoft, который хорошо справляется со своими задачи, но, увы, не распространяется бесплатно.
Последнее дополнение – это набор инструментов BI (business intelligence). Эти инструменты дают возможность представить данные с помощью традиционных инструментов, таких как Таблицы, сводные таблицы и диаграммы, чтобы эффективно рассказать историю. До сих пор мы изучали роль Таблиц в рабочей книге. В этой главе рассматривается, как Excel использует Таблицы для обработки внешних данных.
Рис. 8.1. Группа Получить и преобразовать данные вкладки Данные
Подключение к внешним данным
Вы можете получить доступ к внешним источникам через вкладку Данные, группу Получить и преобразовать данные (рис. 8.1). Подключения к данным хранятся вместе с книгой, и вы можете просмотреть их, выбрав пункт Данные –> Запросы и подключения.
Подключение к данным может быть отключено на вашем компьютере. Для подключения данных пройдите по меню Файл –> Параметры –> Центр управления безопасностью –> Параметры центра управления безопасностью –> Внешнее содержимое. Установите переключатель на одну из опций: включить все подключения к данным (не рекомендуется) или запрос на подключение к данным.
Рис. 8.2. Настройка доступа к внешним данным; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Подробнее о подключении к внешним источникам данных см. Кен Пульс и Мигель Эскобар. Язык М для Power Query. При использовании таблиц, подключенных к данным можно переставлять и удалять столбцы, не изменяя запрос. Excel продолжает сопоставлять запрошенные данные с правильными столбцами. Однако ширина столбцов обычно автоматически устанавливается при обновлении. Чтобы запретить Excel автоматически устанавливать ширину столбцов Таблицы при обновлении, щелкните правой кнопкой мыши в любом месте Таблицы и пройдите по меню Конструктор –> Данные из внешней таблицы –> Свойства, а затем снимите флажок Задать ширину столбца.
Рис. 8.3. Свойства Таблицы, подключенной к внешним данным
Подключение к базе данных
Для подключения к базе данных SQL Server выберите Данные –> Получить данные –> Из базы данных –> Из базы данных SQL Server. Появится мастер подключения к данным, предлагающий элементы управления для указания имени сервера и типа входа, который будет использоваться для открытия соединения. Обратитесь к своему администратору SQL Server или ИТ-администратору, чтобы узнать, как ввести учетные данные для входа.
Рис. 8.4. Подключение к базе данных SQL Server
При импорте данных в книгу Excel их можно загрузить в модель данных, предоставив доступ к ним другим инструментам анализа, таким как Power Pivot.
Имя Таблицы
Excel импортирует каждую выбранную таблицу базы данных в новую Таблицу Excel на новом листе в активной книге. Он создает имена Таблиц в формате Table_Name, где Name – это имя таблицы базы данных или представления в базе данных SQL Server. При импорте одной таблицы имя таблицы будет Table_ServerName_ DatabaseName_TableName, где ServerName – имя сервера, DatabaseName – имя базы данных, а TableName – имя импортируемой таблицы.
Работа с текстовыми файлами
Текстовые файлы обычно представлены в виде CSV-файла (значения, разделенные запятыми), txt-файла (с разделителями табуляции) или PRN-файла (с фиксированными полями или пробелами). Excel по-прежнему создает подключение к данным при импорте текстовых файлов, но не помещает данные в Таблицу. Это связано с отсутствием информации о данных, содержащихся в текстовом файле. Базы данных имеют определенные правила, такие как уникальные имена полей/столбцов, в то время как текстовые файлы не связаны этими правилами. Excel загружает текстовые данные в запрос; Excel не пытается принудительно поместить данные в Таблицу или другой структурированный формат.
Подключение к текстовому файлу
Чтобы выбрать текстовый файл для импорта, пройдите по меню Данные –> Получить и преобразовать данные –> Из текстового/CSV-файла. Форматы файлов по умолчанию – PRN, TXT и CSV. После выбора файла Excel открывает диалоговое окно:
Текст файл был подготовлен авторами книги в англо-американской традиции, поэтому перед размещением данных в книге Excel, их нужно доработать. Кликните кнопку Преобразовать данные, и измените формат столбцов OrderDate, Cost и Total используя локаль (подробнее см. Изменение настроек Power Query, действующих по умолчанию).
Рис. 8.6. Данные после преобразования в редакторе Power Query
Теперь данные можно поместить на лист Excel. Кликните Закрыть и загрузить. Excel по умолчанию поместит данные в Таблицу:
Рис. 8.7. Обработанные данные из текстового файла в Таблице Excel
Чтобы обновить подключение к текстовому файлу, необходимо обновить запрос.
Работа с данными из Azure Marketplace
Azure Marketplace является хранилищем данных и приложений анализа данных. Это облачная инфраструктура и платформа, которая используется для создания, развертывания и управления облачными службами. Данные, доступные в Azure Marketplace, можно экспортировать в текстовые файлы, поместить в модель данных Power Pivot или непосредственно в Таблицу. Если запрашиваемый набор записей превышает 1 млн, его придется импортировать в модель данных, которая поддерживает неограниченное число строк.
Для подключения к Azure Marketplace из Excel требуется URL-адрес данных и ключ учетной записи. На домашней странице Azure Marketplace щелкните ссылку Databases. Появится страница со списком наборов данных; некоторые из них бесплатны, а некоторые доступны за плату. Выберите один из бесплатных источников данных. Пройдите регистрацию. После подключения к набору данных Azure Marketplace это соединение становится таким же, как и любое другое, и его можно обновить, чтобы работать с самыми последними данными. Имейте в виду, что каждое соединение считается трансакцией.
В сегодняшней статье я хотел бы, как можно подробнее, рассмотреть интеграцию приложений Python и MS Excel. Данные вопрос может возникнуть, например, при создании какой-либо системы онлайн отчетности, которая должна выгружать результаты в общепринятый формат ну или какие-либо другие задачи. Также в статье я покажу и обратную интеграцию, т.е. как использовать функцию написанную на python в Excel, что также может быть полезно для автоматизации отчетов.
Работаем с файлами MS Excel на Python
Для работы с Excel файлами из Python мне известны 2 варианта:
Использование библиотек
Итак, первый метод довольно простой и хорошо описан. Например, есть отличная статья для описания работы c xlrd, xlwt, xlutils. Поэтому в данном материале я приведу небольшой кусок кода с их использованием.
Для начала загрузим нужные библиотеки и откроем файл xls на чтение и выберем
нужный лист с данными:
Теперь давайте посмотрим, как считать значения из нужных ячеек:
Как видно чтение данных не составляет труда. Теперь запишем их в другой файл. Для этого создам новый excel файл с новой рабочей книгой:
Запишем в новый файл полученные ранее данные и сохраним изменения:
Из примера выше видно, что библиотека xlrd отвечает за чтение данных, а xlwt — за запись, поэтому нет возможности внести изменения в уже созданную книгу без ее копирования в новую. Кроме этого указанные библиотеки работают только с файлами формата xls (Excel 2003) и у них нет поддержки нового формата xlsx (Excel 2007 и выше).
Чтобы успешно работать с форматом xlsx, понадобится библиотека openpyxl. Для демонстрации ее работы проделаем действия, которые были показаны для предыдущих библиотек.
Для начала загрузим библиотеку и выберем нужную книгу и рабочий лист:
Как видно из вышеприведенного листинга сделать это не сложно. Теперь посмотрим как можно считать данные:
Отличие от прошлых библиотек в том, что openpyxl дает возможность отображаться к ячейкам и последовательностям через их имена, что довольно удобно и понятно при чтении программы.
Теперь посмотрим как нам произвести запись и сохранить данные:
Из примера видно, что запись, тоже производится довольно легко. Кроме того, в коде выше, можно заметить, что openpyxl кроме имен ячеек может работать и с их индексами.
К недостаткам данной библиотеки можно отнести, то что, как и в предыдущем примере, нет возможности сохранить изменения без создания новой книги.
Как было показано выше, для более менее полноценной работы с excel файлами, в данном случае, нужно 4 библиотеки, и это не всегда удобно. Кроме этого, возможно нужен будет доступ к VBA (допустим для какой-либо последующей обработки) и с помощью этих библиотек его не получить.
Однако, работа с этими библиотеками достаточно проста и удобна для быстрого создания Excel файлов их форматирования, но если Вам надо больше возможностей, то следующий подпункт для Вас.
Работа с com-объектом
В своих отчетах я предпочитаю использовать второй способ, а именно использование файла Excel через com-объект с использованием библиотеки win32com. Его преимуществом, является то, что вы можете выполнять с файлом все операции, которые позволяет делать обычный Excel с использованием VBA.
Проиллюстрируем это на той же задаче, что и предыдущие примеры.
Для начала загрузим нужную библиотеку и создадим COM объект.
Теперь мы можем работать с помощью объекта Excel мы можем получить доступ ко всем возможностям VBA. Давайте, для начала, откроем любую книгу и выберем активный лист. Это можно сделать так:
Давайте получим значение первой ячейки и последовательности:
Как можно заметить, мы оперируем здесь функциями чистого VBA. Это очень удобно если у вас есть написанные макросы и вы хотите использовать их при работе с Python при минимальных затратах на переделку кода.
Посмотрим, как можно произвести запись полученных значений:
Из примера видно, что данные операции тоже довольно просто реализовываются. Кроме этого, можно заметить, что изменения мы сохранили в той же книге, которую открыли для чтения, что достаточно удобно.
Однако, внимательный читатель, обратит внимание на переменную i, которая инициализируется не 0, как принято python, а 1. Это связано с тем, что мы работаем с индексами ячеек как из VBA, а там нумерация начинается не с 0, а с 1.
На этом закончим разбор способов работы с excel файлами в python и перейдем к обратной задаче.
Вызываем функции Python из MS Excel
Может возникнуть такая ситуация, что у вас уже есть какой-либо функция, которая обрабатывает данные на python, и нужно перенести ее функциональность в Excel. Конечно же можно переписать ее на VBA, но зачем?
Для использования функций python в Excel есть прекрасная надстройка ExcelPython. С ее помощью вы сможете вызывать функции написанные на python прямо из Excel, правда придется еще написать небольшую обертку на VBA, и все это будет показано ниже.
Итак, предположим у нас есть функция, написанная на python, которой мы хотим воспользоваться:
На вход ей подается список, состоящий из списков, это одно из условий, которое должно выполняться для работы данной функции в Excel.
Сохраним функцию в файле plugin.py и положим его в ту же директорию, где будет лежать наш excel файл, с которым мы будем работать.
Теперь установим ExcelPython. Установка происходит через запуск exe-файла и не вызывает затруднений.
Когда все приготовления выполнены, открываем тестовый файл excel и вызовем редактор VBA (Alt+F11). Для работы с вышеуказанной надстройкой необходимо ее подключить, через Tools->References, как показано на рисунке:
Ну что же, теперь можно приступить к написанию функции-обертки для нашего Python-модуля plugin.py. Выглядеть она будет следующим образом:
Итак, что же происходит в данной функции?
Для начала, с помощью PyModule , мы подключаем нужный модуль. Для этого в качестве параметров ей передается имя модуля без расширения, и путь до папки в которой он находится. На выходе работы PyModule мы получаем объект для работы с модулем.
Затем, с помощью PyCall , вызываем нужную нам функцию из указанного модуля. В качестве параметров PyCall получает следующее:
- Объект модуля, полученный на предыдущем шаге
- Имя вызываемой функции
- Параметры, передаваемые функции (передаются в виде списка)
Теперь, чтобы убедиться в работоспособности нашей связки, вызовем нашу свежеиспеченую функцию на листе в Excel:
Как видно из рисунка все отработало правильно.
Надо отметить, что в данном материале используется старая версия ExcelPython, и на GitHub'e автора доступна новая версия.
Заключение
В качестве заключения, надо отметить, примеры в данной статье самые простые и для более глубоко изучения данных методов, я рекомендую обратиться к
документации по нужным пакетам.
Также хочу заметить, что указанные пакеты не являются единственными и в статье опущено рассмотрение, таких пакетов как xlsxwriter для генерации excel файлов или xlwings, который может работать с Excel файлами «на лету», а также же PyXLL, который выполняет аналогичные функции ExcelPython.
Кроме этого в статье я попытался несколько обобщить разборасанный по сети материал, т.к. такие вопросы часто фигурируют на форумах и думаю некоторым будет полезно иметь, такую «шпаргалку» под рукой.
Читайте также: