Comments 41
Людей нет, остались роботы.
Да сделаю, сделаю. В Google Sheets. Или в Libreoffice. Или в MSoffice не такой как у тебя версии. Возможны ли "нормальные файлы excel" при закрытом формате?
А что ж там закрытого-то? Все спецификации опубликованы, даже на древние бинарные *.xls. То, что ни один из "альтернативных" офисов не осилил реализовать 100% корректную их поддержку - это уже другой вопрос.
ни один из "альтернативных" офисов не осилил реализовать 100% корректную их поддержку
А может дело в реализациях, а втом, что сам M$ Office не полноценно следует своим же спецификациям и имеет некие «особенности»?
Офис, безусловно, небезгрешен, особенно в более старых версиях. Хотя я не припомню, чтобы где-то встречал информацию именно о несоответствии формата опубликованной спецификации. Скорее проблемы в поддержке тех или иных фич теми или иными версиями и разном рендеринге на разных версиях/с разными языками/шрифтами/и пр.
Но если посмотреть мета-баги относительно поддержки форматов MS Office в багзилле того же LibreOffice - там десятки кейсов, которые задокументированы, понятны, но просто не реализованы. И многим багам там уже по 10-15 лет. Понятно, что в опенсорсе никто никому ничего не должен, но и неудивительно, что отсутствие возможности без головной боли использовать все накопленные годами архивы документов является важным препятствием для перехода на альтернативный офисный софт.
А бывает, что MS Office между версиями некорректно открывает xls и даже xlsx. Ячейки уезжают, формулы пропадают. Что уж говорить об открытых реализациях.
Из того, с чем сталкивался -
xls версии 1997-2003 вполне корректно открываются в альтернативных пакетах (по крайней мере тех, которые мне попадались) и во всех версиях WinExcel начиная с 2003 (яблок нет - по MacExcel не в курсе)
А вот xlsx - это лотерея даже на другой версии винды, не говоря про альтернативные офисные пакеты и даже версии самого Excel...
Так и MS Office не осилил
Вроде формат один с 2007 года, а в разных версиях по разному открывается.
Я просто не жестю с форматированием, пользуюсь простыми штуками, поэтому мои файлы xlsx нормально отображаются везде. А в остальном, если каждый файл это микроприложение, то логично и системные требования прописывать: офис такой-то версии.
Я так в одной конторе людей вообще на Либреофис переселил.
Вроде формат один с 2007 года
Формат развивается, есть фичи, которые появляются в более поздних версиях.
До 2007 был трэш с бинарными форматами (которые тогда действительно были закрытыми и потом задокументированы уже пост фактум), так что глюкам в открытии .xls я не удивлюсь. Но чтобы последняя версия Офиса (а разумных мотивов использовать не последнюю я не могу придумать) криво открыла *.xlsx более ранней версии - такого не видел. Могут полететь шрифты и прочие декорации, но содержательно всё будет работать.
Прискорбное исключение - версии Офиса для Мак и веб, которые у MS изначально "граждане второго сорта". В последних версиях всё не так плохо, но однако же любители яблочной продукции до сих пор иногда доставляют проблемы.
вот у меня как раз обратный опыт - поздние xls (формат 1997-2003) открываются корректно и в более новых версиях, и в Libre Office,
а вот попытка открытия xlsx напоминает лотерею (так, попытка открыть файл, сохраненный из MacExcel 2024, в WinExcel 2020, работающей на Win11 - приводит к "убеганию" ячеек с формулами в чужие столбцы. Но если WinExcel 2020 запущен на Win7 - проблемы нет).
На мой взгляд нормальные файлы возможны всегда. В случае когда каждый создатель каждого файла всё же задастся вопросом "а для чего я это делаю". И поймёт, что ответ "потому что так сказал заказчик" не всегда корректен и с заказчиками надо общаться!
Бесчисленное количество раз меня просили сделать «разовый» отчёт / расчёт, который превращался в регулярную задачу
Вот! Об этом я ещё в комментариях к первой части писал. А ещё (моя личная боль) такие вот разовые таблички для себя потом через несколько лет, когда автора уже и не найти, становятся единственным источником информации по теме и передаются заказчиком в составе сотен гигабайт "вот всё, что у нас сохранилось, разберитесь" в рамках задачи "а почему это контора обанкротилась и что тут можно раскопать" и т.п.
Отсюда вывод - даже если делаете разово и для себя - делайте по-человечески. Нормально назыаайте листы и столбцы, разносите информацию по листам, не занимайтесь копипастой и т.п. Возможно Вы даже не узнаете, когда и при каких обстоятельствах это улучшит Вашу карму :)
ТС прав, Excel-файлы - это новая офисная этика. И "разовость" - правда, страшный бич её. Но решения в статье, кроме как "больше думать", не предложено.
Возможно, всем нам было бы полезно придумать тут, на Хабре, нестрогий "практиш стандарт", и начало в 1-й части было даже заметно. Но во второй части - пока не получилось, ждём 3-ю.
Я был бы искренне рад и даже поучаствовал бы в выдумке, если б ТС решился на выработку подхода для "связки" Excel+Calc (платно-пиратского MSO и свободно-масштабного LibreOffice). Для меня очевидно что для практиша придется выработать (договориться) о своем DDL (Data Definition Language), со "стандартными" именами столбцов, который будет реализован на VBA (работает в обеих программах) и выложен на GitHub.
VBA в LibreOffice поддерживается частично, не вводите народ в заблуждение
Для озвученных задач - поддержка VBA в Calc достаточна, 80% макроекорженного в Excel кода - работает или сразу, или с ничтожными правками в LibreOffice. Особенно если не делать при записи глупостей, типа лезть с контекстные меню без выделения листа и ячейки. Вы ведь в курсе что метод ActiveSheet не поддерживается?! (и не только)
А насчёт заблуждений - приписываемая многими немощь LibreOffice говорит лишь о том что люди пробовали его без F1, чтения книжек Питоньяка и главное - без терпения, но зато сразу на сложных файлах, которые обломали зубы любому другому софту (и MSO в первую очередь). Но и здесь наше гусарство раскрывается лишь отчасти. Мы судим софт, а судить надо наши и чужие навыки.
Благодарю за оценку, но тут действительно речь шла не о решениях, а о стартовом подходе, без которого даже начинать смысла нет.
Ну а за идею "практиш-стандарт" благодарю. Подумаю.... Например забыл указать в первой части, что в названии листов с двумя и более словами лучше ставить нижнее подчёркивание. Так формулы проще пишутся =)
Excel фигня - 1С мощь многомерных табличек с табличками
Ну это как заявить, что Камаз на 5 тонн это фигня, если есть белаз на 25 тонн =) Для всего свои стандарты. Но есть ещё и факт- Эксель умрёт последним! Это вот 100%
С учётом того, что экономисты крупных поставщиков до сих пор в excel планированием занимаются, то неофициальный их лозунг "все умрут, а я останусь". Без него жизни не представляю, все прочие табличные редакторы "неплохо, но не excel".
Да, поддержу CrazyLazyDaisy: Excel — как универсальный швейцарский нож, его пока ничто полностью не вытеснило.
Просто в части бизнес-задач часто удобно, когда “табличка” превращается в систему: единые данные, автоматический сбор, отчёты в нужном виде, экспорт, контроль изменений. И тут 1С/SQL/BI дополняют Excel, а не обязательно заменяют.
Фу-фу-фу...неее...1С это последнее что бы мне в голову пришло внедрять. Если уж говорить об нормальном складировании данных то это sql без привязки к фронтэнду (точно не 1с).
vilos, понимаю вашу реакцию — 1С действительно не всем подходит. Но я говорю не про “привязку к фронтенду”, а про практическую сторону: как быстро собрать бизнес-логику, формы и отчёты в удобном виде для пользователя.
1С (в том числе учебные/типовые решения) часто используют как бизнес-конструктор: на ней учат в вузах, проводят олимпиады по проектированию и отчётности, есть экспорт в разные форматы без “ручного Excel”.
SQL, конечно, важен — но это инструмент хранения и запросов, а не замена слоя прикладной логики/отчётности. Тут скорее вопрос “что решаем”: хранилище или прикладной контур.
Пробежался по статье и есть пару глобальных замечаний.
1) ПОЙМИ ДЛЯ ЧЕГО ТЫ СОЗДАЕШЬ ЭКСЕЛЬ ФАЙЛ!!! не имеет смысла без обучения основам работы с документами. Никто, из опрашиваемых мной, не понимает идеи форматов и не знает между ними отличий. Отсюда и слепое тыканье до получения результата на уровне "начальник не ругается - значит прокатило", эксель лишь часный случай.
2) если данных много = берём базу данных и убираем Excel. Опять же, никто (кроме хороших аналитиков) не понимает \ не знает функций БД и берут в руки эксель так как "начальник не ругается - значит прокатило". Я видел эпические случаи, когда из БД на 200ГБ с фронтендом на qlikview экспортируют помесячно в xlsx, а потом по полчаса ждут открытия каждого файлика, так как "а как иначе обрабатывать данные?"
По п. 2 - к сожалению, идея предоставить инструменты для создания БД обычным пользователям (не специалистам в IT и не энтузиастам) умерла где-то вместе с MS Access. Сейчас, с одной стороны, среди no-code инструментов вроде как ренессанс такого подхода (Airtable, nocodb, Grist и т.п.) - но всё это по-прежнему слишком сложно для среднего клерка. Тем более добавить к этому BI. А в Excel такой клерк, пусть коряво и неоптимально, но решает свои практические задачи без посторонней помощи.
"без посторонней помощи" ага, ага.
Кросс-ссылки на другие таблицы, а потом путь к таблицам исчезает\переименовывается. Или размер файла вырастает из-за сотни скриншотов в ячейках. Да простой алерт "в формуле фигурирует ячейка, в которую вы попросили вывести результат" - и клерк может увольнятся.
Раз на раз не приходится, но видел прямо монстров наколенной автоматизации, сделанных неспециалистами в Excel и свои функции выполнявших.
А как по-другому? К каждому юристу/экономисту/бухгалтеру/АХОшнику и иже с ними не приставишь квалифицированного IT-специалиста, который будет им их сугубо частные ситуативные потребности закрывать. А идеи заменить вот это всё партизанское наколенное творчество централизованной корпоративной ИС, которая закроет все потребности всех клерков раз и навсегда, на практике оказываются, мягко говоря, утопичными.
Для начала я бы спросил "а как юрист стал юристом?" Учился!? Вот и перед подходом к созданию документов пусть начнёт учиться. Вы видели целые отделы, которые штампуют документы, но вообще не подозревают разницы между doc и xls? И не догадываются про разделение файлов по имени и папкам? А я видел! Сейча сновый тренд - юзеры не знают куда они складируют документ, так как новый офис предлагает в какое-то облако. Куда уходит файл, что за облако, где хранится, кто платит .... то в отдел поддержки!
Мне бы в Вашем идеальном мире пожить хоть немного... Толкового юриста (да и почти любого специалиста) найти та ещё проблема, и если найдёшь - то уж слабое владение Excel'ом ему точно приходится прощать :) Но учить надо, да. Корпоративные тренинги в большом бизнесе, личный совет и научение в малом. У себя стараюсь.
Идеального мира я и сам не видел, но всегда пытаюсь трезво смотреть на рабочий процесс. Если нельзя достичь цели, это не значит, что не надо указывать направление. И если девочка-маркетолог хранит рассчёты в ворде в ole таблице размером 300-500 МБ, то я подчёркиваю эту ненормальность. А там пусть руководство решает.
По первому пункту вы слишком грубо подошли к задаче. Поверьте, даже у девочки-менеджера из института с навыками "знаю иконку" результат будет лучше если первым делом она задастся вопросом "а что же от меня в действительности хотят получить с этим файликом"?
Ну а про второй момент с большими данными всё упирается в огромное кол-во проблем.
Вот личная текущая ситуация.
Есть база на 4.5+млн строк!
Ну просто просится БД! Power Querry жуёт её около получаса (и это на локальной машине).
Иду к владельцам БД в компании. Без проблем, говорят. Вот тебе БД.
На удалённом сервере с кучей ограничений от безопасников, так как есть личные и корпоративные данные. БД может подключиться к Эксель файлу на другом серваке? Или Эксель к БД? Нельзя. Каждый файл и каждый путь только через безопасников. Ну и т.д. =)))
Также БД очень требовательна к администрированию (от названий и кол-ва колонок), до всех связей с файлами и т.д. И при сложной конструкции очень требовательна к добавлению новых фишек в формате "а давай закинем туда кол-во тикетов вот отсюда и подсчитаем среднюю по группам, которых в БД нет, а которые есть в отдельном Экселе"
Так что БД хороши, но для своих задач.
Эксель+PowerQuerry+PowerPivot+VBA для своих.
Подпишусь под каждым пунктом. Лет 10 назад сам перестал начинать файл с формул сначала всегда проговариваю, кто будет открывать и что именно он должен увидеть
То, что вы пишете - в принципе применимо к огромной части софта. Я бы сказал, что ко всем системам поддержки принятия решений.
Полностью согласен!!!! Полностью!!! Я потому и говорю, что каждый файлик, по сути, "мини приложуха".
Если честно, до перехода в ИТ компанию я действительно не понимал, что надо и ИТишников учить такому подходу! Сам я финансист и всю рабочую карьеру взаимодействую с Экселем и пользователями не ИТ.
И тут на те! ИТ контора. Нужно запилить управление ИТ-специалистами как ресурсом. И что делает контора? Берёт ИТ-решение с главным функционалом управления проектами только на основе того, что оно уже внедрено и там есть ставки, часы и периоды!
А то что для ответа на вопрос "сколько должен в деньгах принести сотрудник А и на какие проекты его задействовать" нужен совсем другой подход, чем с ответом на вопрос "как распределить и отследить людей на проекте Б" никто даже и не подумал!!!
И сейчас реально, без шуток, хороший паровоз пилят напильником для получения истребителя.
Файл Excel — этот просто набор листов с формулами в ячейках. А нужна надстройка над листами, где можно было бы описывать сами решаемые задачи и используемые для решения переменные и формулы.
Файл PowerPoint тоже малопригоден к употреблению без сопроводительного текста. По сути, это просто набор картинок. А нужен ещё и текст, к которому эти картинки даются в качестве иллюстрации.
Олег, не совсем понял к чему комментарий, но назвать Эксель "набором листов с формулами...." это уж совсем уничижительно...
Вы можете открыть файл на несколько килобайт, в котором будет один лист с одной кнопкой "Нажми меня", а потом увидеть ТАКОЕ! ;-)
на какой вопрос она отвечает?
Посчитать десяток чисел, потому, что карандаш опять куда-то укатился, а за новым в шкаф лень идти...
а также привычка сразу делать файлы обновляемыми (формулы и ссылки вместо копирования значений). Она реально спасает.
Это если данные данные доступны из того места, где смотрит человек получивший таблицу, да формулы не сложнее сумм().
В чуть более сложных случаях при отправке таблицы адресату мы будем иметь #ЗНАЧ, #Н/Д, "не удалось получить данные" и тп.
Поэтому только макрос, который выгружает в отдельную книгу значения (и форматирование разумеется).
Вообще зачем фрилансеров нужны сейчас? Только совсем конкретно тупым? Нецррсети сейчас все делают. Да, где то что то допилиаать придется, но в целом если конкретно тупой, то и допилиаать не придется.
Бывает две принципиально разных ситуации: делаешь что то для себя и нечто для кого то другого ("заказчика"). При этом для себя бывает делаешь нечто сиюминутное, что далеко не факт, что потребуется в будущем. Таким образом, изначально ситуации три. И базовых схем поведения тоже три. Само собой, эта классификация далее ветвится затейлево.
Люди! Делайте же нормальные файлы EXCEL! (ч.2)