Проблема с открытием данных в Excel: ошибка в части содержимого в книге (openspout)

Использую php8.2, "openspout/openspout: ^4.17.2". Все тесты проходят удачно и все генерируется в Excel нормально. Но на продакшен-сервере иногда открываются данные с ошибкой:

Ошибка в части содержимого в книге

ошибка в части содержимого в книге

Не могу найти причину, почему это происходит. Все HTML-сущности обрабатываю через htmlspecialchars_decode(). Сколько не провожу тестов, не могу поймать ошибку из-за чего это происходит. Может быть, у вас есть варианты, как узнать, почему и где ошибка. Есть сломанный файл Excel, но не могу его скинуть из-за конфиденциальности.


Ответы (1 шт):

Автор решения: madperez

Проблема была в том, что в ячейке в начале строки стоял знак '=', Excel думает что это формула.

Его необходимо экранировать, разные способы, которые я нашел в интернете, не помогли, например добавить символ '(апостроф), мне помогло добавление табуляции или пробела в начало. Пример:

$cellValue = " " . $cellValue;

Или обрезать вначале через ltrim

$cellValue = ltrim($cellValue,'=');
→ Ссылка