Язык программирования для работы с Excel?

Здравствуйте! Есть необходимость программирования рутинной работы в Excel. Сам любитель, раньше пробовал писать в VBA. Решил создать сайт (для друзей) и обрабатывать Excel файлы. Есть ли VBA запускается внутри файла Excel, то встал вопрос о внешнем обработчики / редакторе файла.
Искал в сети и сделал выбор на Python - библиотека - Openpyxl.
Пользуюсь 3 дня и пока что по ощущениям библиотека ужасна, не подточена под excel. Гемор в том что постоянно ошибки типов данных (кортеж кортежей, тип итерации не подлежит и тд.). Даже сложность в указании заранее неизвестных диапазонов.
Мои задачи в основном в создании бухгалтерских алгоритмов, выборка данных, раскидывание в определенные ячейки, арифметические действия и т.д.

На что можно заменить openpyxl? Думал о Pandas, но он вроде для анализа в основном, подходит ли он для моих задач и проще ли им пользоваться?
Я понимаю что плохому танцору.......... Но какое есть оптимальное решения для прогера любителя?
  • Вопрос задан
  • 1670 просмотров
Пригласить эксперта
Ответы на вопрос 10
sim3x
@sim3x
Если ексель, тот формат с которого все начинается и заканчивается требуется раскрашивание листа, формулы и тд и тп, то альтернативы VBA - нет. Можно попробовать шарп, но он также потребует включенного екселя.

Если в екселе только данные, то практически любой ЯП нормально делает импорт и експорт csv
Ответ написан
самое лучшее = отказаться от Excel
Ответ написан
@CH1979
Я использовал связку XlsxWriter + Pandas. Вполне рабочее решение. Но, увы только для xlsx. Поддержки xls - нет.
Ответ написан
saboteur_kiev
@saboteur_kiev
build engineer
Формат excel проприетарный.

Существующие библиотеки созданы в основном для красивого экспорта данных в эксель, а не полноценную работу с этим форматом.

Поэтому действительно нужно уходить от того, чтобы писать в эксель формулы. Делайте все расчеты в вашем софте, а в эксель делайте экспорт только статических данных для печати или просмотра юзером. Без интерактивности. Максимум - простые фильтры.
Ответ написан
@OlegPyatakov
В качестве альтернативы можно рассмотреть вызов VBA макросов из внешних к обрабатываемому файлу источников:
  • Любая запущенная программа из MS Office. Например, у меня есть опыт создания внутрикорпоративного сервиса на Outlook. Т.е. можно использовать почту как внутренний интерфейс.
  • Вызывать VBA макросы из Command Line/Powershell. Такой вариант позволяет на Windows связать web-бэкенд на Python с бизнес-логикой на VBA.
Ответ написан
@v_m_smith
лучше бы я пил и курил
Попробуйте бесплатный плагин PowerQuery. В нем функциональный язык M из PowerBI, куда более мощный, чем VBA
Ответ написан
@prosto_mimo_prohodil
Java + Apache POI. Я работал на такой связке с excel таблицами. По ощущениям очень удобно, библиотека понятная.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
ГК "Саммит" Москва
от 100 000 до 100 000 руб.
ВИЗАВИ Консалт Москва
от 90 000 до 100 000 руб.
от 140 000 до 180 000 руб.
12 дек. 2018, в 11:02
500 руб./за проект
12 дек. 2018, в 11:00
4000 руб./за проект
12 дек. 2018, в 11:00
5000 руб./за проект