Да, именно!
Апостроф ставится там, где значение должно остаться текстом.
Например, при импорте номеров телефонов, начинающихся с +7 будет точно такой же апостроф в начале.
А если его убрать, то эксель выдаст ошибку
Да, именно!
Возможно именно из-за этого?
Все верно. И в текстовых данных недолжно ничего добавляться в начале. Программа сама ничего не добавляет.библиотека (да понимаю это phpspreadsheet) используемая для экспорта при отсутствии указанного типа экспортирует все как текстовые данные.
Именно в этом проблема, потому что все данные экспортируются как текст независимо от типа поэтому программа по умолчанию с ними обязана вести себя как текст. Нигде не определено, что программа должна проверять текстовые данные на предмет возможности приведения к другому типу. Что кстати и видим в разном поведении в зависимости от разработчика и версии.
Понимаю, что созданы пользователем собственные. Это действительно тянет на предложение добавить настройки экспорта данных типов. В таком случае это не ошибка была бы.
Это не глюк ms exel или другого табличного процессора, выяснилось, он таким образом маркирует ячейки, которые без данной маркировки пользователем могут быть восприняты некорректно, т.е. не данные в сохраненном файле добавили такую метку (она в файлы не сохраняется, только отображается).