Comments 83
Ага. Я например пытался, вышло более — менее https://m.habr.com/ru/post/542242/
До сих пор придерживаюсь мнения, что если какой-то процесс (технический, организационный, логический) не получается офрмить в Экселе или он там выглядит очень сложным, то надо внимательно посмотреть ещё раз на сам процесс — возможно в нем есть что улучшить.
Пойду дальше в высказывании. В большем количестве фирм, где используется Excel, то со всеми в встроенными возможностями (vba, автоматизация) можно делать много чего, что будет получше, чем тонна всякого черезчур платного софта. Почти все бизнес процессы можно с Excel и Office оцифровать. А с пакетом Office 365 (Excel, Word, PowerPoint, Teams, OneNote, PowerBI etc.) так и вообще — все.
Кстати на примере с Excel я вижу как думают люди. Там сразу видно, если созданные ими конструкции нелогичны, сложные, часто не поддающие пониманию или последующему сопровождению или видоизменению итп. Это как своего рода визитная карточка. Мне сразу понятно, кто передо мной.
а как там с параллельными операциями? горизонтально отмасштабируемся, или будет искать машину помощнее? как там с ACID?
Да, это было не очень оптимальное решение, но Excel радостно загрузил 32 ядра из 40 на 100%, и посчиталось всё быстро, минут за 5. Но админу позвонить по поводу неожиданных тормозов коллеги успели. В будущем админ попросил больше 4-8 процессоров не захапывать ;)
PS: А вот со встроенным VBA сложнее, пользовательские функции параллелятся плохо, а процедуры на VBA приходится запускать через OnTime, чтобы они работали хоть как-то параллельно.
Удивительно, как много вещей выглядят как гвозди, когда ты наловчился орудовать молотком...
Я не призываю перестать использовать Excel, просто помните, что «универсальный» — совсем не то же самое, что «наиболее подходящий».
И при выборе инструмента всегда приходится решать дилемму — искать что-нибудь под свою конкретную задачу, или попробовать быстро запилить на ексельке, если задача не большая, и возможности таблиц хватает.
И очень часто второе быстрее сделать, чем найти готовый инструмент, который бы хорошо подходил под задачу…
В ваших примерах люди, которые разрабатывали структуру хранения, просто допустили пару грубых ошибок — например, если бы поставили тип данных «текстовый», не было бы беды с заменой названий месяцев.
Поэтому вопрос об выборе инструмента все равно открытый, т.к. никто не хочет изобретать велосипеды в ексельке, когда рядом находится идеальное, подходящее по всем параметрам, и в т.ч. и цене решение.
keypressingmonkey изобрел data driven development
Иначе только спец интерфейс с одной большой кнопкой.
А VBA позволяет реально очень много, вплоть до перемещения мыши и кликов ей через дергание системных вызовов, что позволяет заменить AutoIt — например. Ну и дергать из Word методы Outlook — удобно. Можно, например — сформировать красивый отчет по выполненным задачкам, или календарь с предстоящими событиями. Жаль, что VBA уже готовятся списать в анналы истории…
В нем же+VBA делал систему заказов с подбором товара по признакам.
+
Нейросеть по прогнозированию продаж по фото.
Правда 14 лет назад.))
Тогда правда было сильное ограничение на количество столбцов и строк.
Плохо что его народ толком и не знал (обычных работников)
Можете смеяться, но я в экселе иногда даже кодогенерацию делаю, когда нет смысла тащить в код целый фреймворк.
В частности, делал скрипт для заполнения базы данных. Оказалось проще на разных листах в нужных местах вписать нужные данные, а потом скопировать готовый SQL.
Но, справедливости ради, я использую гуглотаблицы, а не непосредственно Excel.
Есть ли примеры веб-сайтов с базой на excel? Обновил данные в excel файлике, нажал обновить и сайт с обновленными данными. В идеале чтобы и формулы работали.
Можно через js -библиотеки (другие библиотеки) вручную читать данные из excel-файла, но может проще можно?
1) есть много js либ для работы с гуглтаблицами. Я часто на них делаю сайтики. Если ещё учесть что к гунлтаблицам легко прикрутить скрипты через гуглскрипт или ifttt то вообще целый бэкенд.
2) не в Гугл таблицах, а виде обычного экселя у меня на работе сделана страница со структурой подразделений — коллеги заполняют Эксель т.к. они не умеют верстать, Эксель формулами генерит сложный многоуровневый json, который мне остаётся только скопипастить и отправить в прод. На основе этого json страница генерит вложенную структуру подразделений, с поиском по ней и прочими плюшками.
3) можно было бы сохранить в csv и брать файл из js напрямую (это же просто текст был бы), но это точно потребует вебсервера даже при разработке (элементарный "200ок" в хроме пойдет) из-за ограничений браузера.
4) согласно старой игре, где надо брать случайное английское слово, подставлять ".js" и выпивать если такая либа есть, я моментально увидел что есть и xlsx.js которая умеет и из Эксель файла все забирать. Пойду выпью за это )
В Экселе по сути сегодня одно преимущество: несколько удобнее смотреть / вводить данные. Интересно как скоро кому-нибудь придет в голову сделать удобный excel-подобный вьювер / редактор для pandas dataframe?
Эксель не умеет нормально работать с CSV
Эксель может при сохранении угробить большой файл так, что он потом будет открываться полчаса
Эксель не умеет в PCRE
Красивые графики в нём не сделать
Про совместную работу надо документом и говорить не приходится, то, что есть — глючит
Для меня этого достаточно, чтобы не рассматривать его как серьезный или универсальный инструмент. Он удобен и быстро для довольно частых задач, таблиц среднего размера, но не более.
Это одна из причин, почему я поставил себе LibreOffice — его Calc при открытии CSV сразу спрашивает, всё то, что Excel делает в рамках мастера импорта.
Если десятичный разделитель в системе поменять на точку, процесс импорта csv в Excel становится гораздо более предсказуемым.
Но что-то обязательно сломается в другом, непредсказуемом, месте ;)
Причем разделитель запятая это только в руской версии Windows, в иностранных разделитель — точка. Мне это крови попило при импорте CSV из экселя в Python
Но на одном компьютере держал несколько лет точку именно для импорта в Excel. И ещё американский формат даты — он гораздо лучше подходит для целей сортировки файлов, содержащих дату в имени.
По работе использую для быстрого заполнения подготовленных данных в шаблоны, с попутной сортировкой, проверку на правильность и просто что бы разложить все по-полочкам, что в строительстве при оформлении исполнительной документации спасает.
Эксель исторически был и остается — табличным калькулятором. Это как программирование игр на TI-83 — можно, но, как правило, в сегодняшних реалиях редко нужно. Хотя, среди калькуляторов там идет сильнейшая борьба по функциям. Однако тот же Матлаб уроет любой калькулятор по возможностям. Да даже смартфон уроет любой калькулятор по возможностям. Но свой узкий резон иметь такой швейцарский нож есть.
Это как открывать консервы кухонным ножом, когда нет открывашки или пиво зажигалкой — это все от «неимения». Неимения навыка, подходящего инструмента и пр. Но всегда найдутся те кто сочтет это видом искусства.
Какой офис сейчас самый крутой считается в этом плане (не облако конечно)?
относительно даже ms sql dev express, не говоря уже о фактически бесплатном постгресеAccess — однофайловая БД, а MS SQL что-нибудь, Postresql, и прочие MariaDB — клиент-серверные.
Access было бы правильнее сравнивать, например, с DB Browser for SQLite.
Ну вот у нас на текущем проекте почему-то переводчики активно отрицают нормальные форматы типа XLIFF, поэтому все переводы пишутся в экселе — пришлось написать на VBA тулзу, которая экспортирует переводы в айос- и андроид-проекты, с форматированием, комментариями и всем-всем-всем, плюс скрипт на питоне, чтоб рушил сборку в икскоде при отсутствии какого-либо ключа в строках, и получилось вполне себе удобно :-)
На прошлом проекте тимлиду уж больно нравилось проектирование апи начинать с описания объектов в ворде таблицами по строгому шаблону. За счёт строгости шаблона можно было пробежаться по документу VBA-скриптом, преобразовать таблицы в дерево типов, которые впоследствии скормить классу-генератору, выдающему код на тайпскрипте, джаве или жсоны для примеров в той же документации. И даже авто-обновление установленного в локальный шаблон макроса из моей шары на офисном сервере было — не знаю, как безопасники меня не прибили за такое :-)
В общем, VBA — мощнейшая штука, но не для слабонервных.
Я пользуюсь Excel, чтобы писать код