Страница 1 из 1

Совместимость xlsx

Добавлено: 26 Октябрь 2023, 19:11
finsoftrz
Немного поразбирался с этой темой, почему xlsx без проблем обрабатывается всякими опенами, а MS Excel в разных своих версиях может выдавать сообщения об ошибках. На поверку оказалось, что парсер у MS чувствителен как к порядку следования определенных тегов в xml файлах, к обязательному наличию некоторых тегов даже с пустыми значениями, а также не допускает указание пустых реквизитов у некоторых тегов.
Парсер у опенов (а также у некоторых онлайн таблиц) лояльны к порядку следования тегов (что, в общем, соответствует концепции xml), когда теги не заданы, то используют дефолтные значения.
Например, теги описания границ ячеек у MS должны идти именно в порядке левый-правый-верхний-нижний, а свойства и значения ячеек в порядке возрастания номеров строка-колонка.
В актуальной версии xlsxwriter эти моменты были пофиксены.

Совместимость xlsx

Добавлено: 26 Октябрь 2023, 21:46
Игорь Столяров
Microsoft является разработчиком спецификации XLSX и её продукты наврняка эту спецификацию соблюдают на 100%.
Вопрос откуда берутся проблемные XLSX файлы, кто и как их создаёт и соблюдает ли он спецификацию Microsoft.
Вполне возможно, что какие-то шаровые пакеты криво реализуют поддержку XLSX через конвертацию своего формата ODT ... :(

Совместимость xlsx

Добавлено: 26 Октябрь 2023, 22:59
finsoftrz
Игорь Столяров писал(а): 26 Октябрь 2023, 21:46 Microsoft является разработчиком спецификации XLSX и её продукты наврняка эту спецификацию соблюдают на 100%.
Вопрос откуда берутся проблемные XLSX файлы, кто и как их создаёт и соблюдает ли он спецификацию Microsoft.
Вполне возможно, что какие-то шаровые пакеты криво реализуют поддержку XLSX через конвертацию своего формата ODT ... :(
Факт остается фактом, я тоже очень удивился. Причем в разных версиях Excel что-то постепенно дорабатывают, сравнивал на excel 2007, 2013, 2016, ведут себя не одинаково. Получается, как ни странно, спецификация спецификацией, а парсер в Excel весьма странный, приходится под его особенности подстраиваться. В отличии от альтернативных офисных пакетов - ОО, Libre, yandex вьювер, yandex docs, где успел посмотреть. Видимо, изначально сделали код не очень удачно, потом пытаются выравнивать, что не так просто.