безглузда ідея
Є мільйони людей, які щиро працюють в Excel з самими звичайними електронними таблицями. Є дуже рідкісні гіки, які використовують максимум можливостей вбудованого VBA-мови, щоб, наприклад, обійти обмеження на запуск менеджера завдань, реалізувавши свій власний. Я ставлюся до першого типу :). Я сильно не люблю складати звіти. Придумати більш сумне заняття неможливо: взяти дані звідти, вставити в таблицю, взяти дані з іншого місця і знову вставити в таблицю. Після третього такого звіту я вирішив це заняття автоматизувати. Завдання здавалася цілком земний, якби не одне але - мати справу з вбудованим VBA зовсім не хотілося. До того ж потрібно було обробляти складні формати файлів, а писати з нуля парсер анітрохи не приваблювало. З документом треба було працювати постійно, тому варіант написати зовнішній скрипт на Python, який на основі xls-шаблону створював би звіт, вставляючи потрібні дані, не годився (хоча спочатку я хотів робити саме так). «От якби в Excel був вбудований Python для скриптинга, то все було б в десять разів простіше», - подумав я і набрав в Google: «excel with python». Виявилося, що подібними нісенітницями був спантеличений не тільки я :).
Excel + Python
Далі запускаємо сценарій за допомогою кнопки на панелі тулбару і отримуємо потрібне значення в осередку A1! Недовго думаючи, я став нарощувати функціонал, який мені був потрібен. Пробую імпортувати бібліотеки для роботи з потрібними форматами і прочитати дані - все працює. Звертаюсь через API інформацію з декількох онлайн-сервісів - все відмінно агрегируется. Пишу простеньку приблуду для розсилки звітів - все відмінно відправляється. У підсумку за тридцять хвилин вдається зробити скрипт, який буде економити дві години - ті, що перетворювалися для мене на тортури :). Спершу я навіть почав виконувати в Python всі розрахунки, лише пізніше згадавши, що з цим впорається сам Excel. Втім, якщо потрібно порахувати щось серйозне, то нічого не варто довантажити математичний модуль NumPy і робити будь-які наукові обчислення.
Вкладка аддона, за допомогою якої реалізується інтеграція DataNitro і Excelвичавити максимум
Покажи цю статтю друзям: