@LuchS-lynx
инженер-ПТО

Какими языками программирования удобно править и создавать файлы расширений docx/xlsx/odt/ods под Linux?

В связи с тем что в строительной отрасли начато импортозамещение, через какое-то время использовать напрямую MS Office станет невозможно (не лично, а массово). Учитывая, что альтернативы VBA в самих офисных пакетах под Linux'ом уступают ему, принято стратегическое решение переучиться на альтернативный язык программирования, который бы внешним модулем позволял осуществлять как правки исходного файла, там и переносить данные из него во вновь создаваемые офисные файлы, в т. ч. из таблиц в текстовый процессор (xlsx -> docx, ods -> odt).

Соответственно, вопрос: какие языки позволяют это сделать и с каким набором дополнений/модулей?

Доп.вопрос: возможно ли при этом создание форм с красивыми кнопочками или только запуск исключительно через командную строку?
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Осваивайте веб-стек, и вам не понадобится гоноебиться с офисными файлами вовсе (разве что экспортировать данные в них для самых отсталых).
Особенно - в строительной отрасли, где тот офис на хрен не нужен. PDF - естественный формат для документации.
Ответ написан
AlexNest
@AlexNest
Работаю с Python/Django
Если говорить о xlsx/docx (которые спокойно открывается libre office, насчёт OpenOffice не уверен), то подойдёт буквально любой актуальный язык, для них сейчас полно библиотек.
С точки зрения простоты входа*, наверное, самым простым вариантом будет python и библиотека openpyxl (для Ворда есть своя, но навскидку не вспомню).
Для интерфейса можно использовать, например, pyqt. Также, можно сделать небольшой сайт на flask, а формы нарисовать с помощью html/js/css.
Правда, в случае если файлы большие или есть сложные расчеты, то саму обработку лучше запускать отдельно, чтобы приложение не подвисало. В случае с pyqt в отдельном потоке, в случае с flask'ом - фоновая задача с помощью celery. Но это уже больше вопрос оптимизации и в целом, не обязательно.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Я бы рекомендовал следующие связки:

* NET6 + vue |react + postgres + microsoft visual studio 2022 | rider jetbrains
* Java + Intellyjava + spring + vue |react + postgres
* Java + openoffice (аналог VBA) https://www.openoffice.org/udk/common/man/tutorial...

Первые две связки вообще не требуют пользовательского опыта, все просто в браузере. Третья это чисто скриптовщина, но чем то похожая на ms
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Какими языками программировани....


С помощью Apache Poi https://poi.apache.org/apidocs/index.html я работал с XLSX документами (язык Java и платформа Linux. Насколько полно POI покрывает возможности MS документов - я не знаю. Другие типы не пробовал. Вообще сама постановка вопроса насчет языков - неверная. Если вы берете например LibreOffice - то там главное ядро например написано на сях а к ней идет куча API разработки https://api.libreoffice.org/ смотрите полный список по ссылке.

Будьте осторожны с заменой MS-Office. У меня есть предположение что заменить их на 100% невозможно. Уж слишком они тесно связаны с технологиями MS. Возможен такой вариант что какой-то офисный документ вы не откроете просто потому что в нем есть всякие OLE/COM e.t.c штуки которые являются компонентами ОС Windows. И заместить их ничем будет невозможно. Или вы нарушите условия импортозамещения.

Где-то также читал статью одного из разработчиков старого офисного формата Word. Он признается что формат сложен даже для него самого.
Ответ написан
Ваш ответ на вопрос

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

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