Здравствуйте, имеется файл импорта (неизвестно как сгенерирован) xlsx (2007). Файл в принципе читается, но сыпется ошибка на Excel2007.php(851)
$value = $sharedStrings[intval($c->v)];
И не может прочитать строковые данные из файла. Все числовые значения читаются на ура (формат везде общий). При этом, стоит открыть xslx и просто сохранить (ctrl+s), как каким-то чудом всё начинает прекрасно работать и читаться. Кто-нибудь сталкивался с такой проблемой ?
$value = $sharedStrings[intval($c->v)];
В xlsx есть 2 формата строк - shared и заинлайненные в ячейки. Предположу, что файл может содержать заинлайненные. В таком случае совершенно логично, что они отсутствуют в shared.
почему всё начинало работать после простого сохранения ?)
Потому что Excel при сохранении файла его полностью перезаписывает. А он сам никогда (по крайней мере, мне не встречалось) не использует заинлайненные строки. Поэтому после сохранения получалось, что все строки находятся в shared и код начинал работать.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей