Задать вопрос
@LuchS-lynx
инженер-ПТО

Чем можно заменить связку MS Excel + VBA в Linux?

Я работаю в строительстве. В связи с последними веяниями, из-за которых наша страна решила переходить на отечественное ПО
publication.pravo.gov.ru/Document/View/0001202203300001
встал вопрос, как развивать свое приложение, работающее в рамках малой автоматизации рутин, которые облегчают заполнение шаблонных документов инженерам ПТО.

В рамках этой статьи я сравнивал работоспособность под Линукс некоторые базовые функции своего приложения, минимально-необходимый набор,
https://habr.com/ru/post/674580/
но столкнулся со следующими проблемами:
1. относительно низкая скорость на запись StarBasic в ячейку по сравнению с VBA даже работающем через Wine в Linux (порядка 30секунд против 6минут для поля 1000 х 1000 ячеек)
2. неполное соответствие формул и функционала Excel и Calc
3. LO и OO открытое ПО, но не входят в реестр российского ПО, однако многие российские дистрибутивы Linux поставляются именно с LO.

Соответственно я в поиске платформы для замены связки Excel + VBA, как самой распространенной, с одной стороны есть ли под Linux аналог Visual Studio? т.е. будет ли лучше, например, совсем отказаться от Basic'а и вынести макрос в отдельный модуль, или наоборот можно ли как то ускорить StarBasic в самом LO?
  • Вопрос задан
  • 3821 просмотр
Подписаться 6 Простой 17 комментариев
Пригласить эксперта
Ответы на вопрос 5
Adamos
@Adamos
Прекрасный повод пересмотреть парадигму "начинаем работать на компьютере с офиса".
Не искать костылей, которые заменят привычные костыли Excel+VBA, а разрабатывать решения, которые не зависят от желаний левой пятки корпораций и правительств.
Например, Javascript на HTML-странице позволяет не только корректно повторить весь расчет, который народ шаманит в Ёкселе, но и читать-редактировать его без чудовищного геморроя с прыжками по ячейкам и мучительными попытками вспомнить, в которой что считается.
Нужно не только расчитывать данные, но и хранить их? База данных на Линуксе поднимается за 10 минут и не стоит вам ни копейки. Нужно обмениваться данными? JSON и XML не требуют никаких конкретных программ конкретной версии - ваша информация остается доступной, даже если вся M$-продукция объявлена вне закона...
Нужны документы для печати? PDF - открытый формат, и документ в этом формате не перекосит от того, что вы открываете его не в той программе, в которой создали. Более того - полно библиотек, которые автоматически создадут вам этот документ из ваших данных.
Нужно только сменить парадигму. Для будущего.
Ответ написан
alfss
@alfss
https://career.habr.com/alfss
https://wiki.openoffice.org/wiki/Python_as_a_macro... LO, OO. Запрета на использования их нет в РФ , даже при регистрации своего ПО их можно указывать как часть системы .

Так же как писали до этого люди . Потом можно перейти на решения web + lang + db .visual studio code есть под Linux и его можно использовать , насколько закроет ваши потребности , не знаю .

Так же если у вас есть какие-то данные которые нужно обрабатывать из таблиц и потом делать новые табличные данные , я бы рассмотрел связку xlsx,ods -> python + pandas -> xlsx, ods
Ответ написан
Комментировать
Расскажу опыт со свой стороны - сфера финансов, работа с большими таблицами (эксельевскими, не БД), в среднем от 100 до4 00к строк.
Послел речерча open source решений, решили остановиться на LibreOffice. Работали на винде, мой комментарии:
1. Очень нестабилен, частые вылеты, даже на небольших объемах данных (до 50к строк);
2. Хоть и пишут про какую-то совместимость с VBA, но... Те макросы код которых полностью коннектиктся с библиотекой либрой будут работать, но сразу почти ничего не коннектится (причем не работают базовые вещи, типо поиск последней заполненной ячейки или использование словарей). Использовать частично VBA и LIbreOffice язык не получится (были идеи просто переписать те методы, которые не работают из нативного ВБА), поэтому для успешной работы уже написанных VBA макросов придется писать их заново. Не с нуля конечно, но целиком.

Интересно какие еще решения находили люди, так что подписался.
Ответ написан
@calculator212
3. LO и OO открытое ПО, но не входят в реестр российского ПО, однако многие российские дистрибутивы Linux поставляются именно с LO.
Честно говоря не совсем понятен этот пункт, вы можете использовать LO ,т.к.законопроект запрещает закупать иностранное ПО, про open source ничего не говорится. Во-вторых запрет идёт не для всех подряд сфер, а для ограниченной области. На хабре вам в комментах писали, что можно увелечить производительность LO при необходимости. В целом конечно лучший вариант написать свое ПО для работы, но как я понял этот вариант не подходит.
Вы конечно можете предположить, что LO тоже могут запретить, но это маловерятно, т.к. этот пакет уже используется в astra linux, который используется для работы с критической информацией немного инфы. Поэтому если нет желания писать свой софт стоит выбрать LO.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы