PHPExcel Не читает строки из xlsx

359
07 марта 2017, 17:32

Здравствуйте, имеется файл импорта (неизвестно как сгенерирован) xlsx (2007). Файл в принципе читается, но сыпется ошибка на Excel2007.php(851)

$value = $sharedStrings[intval($c->v)];

И не может прочитать строковые данные из файла. Все числовые значения читаются на ура (формат везде общий). При этом, стоит открыть xslx и просто сохранить (ctrl+s), как каким-то чудом всё начинает прекрасно работать и читаться. Кто-нибудь сталкивался с такой проблемой ?

Answer 1
$value = $sharedStrings[intval($c->v)];

В xlsx есть 2 формата строк - shared и заинлайненные в ячейки. Предположу, что файл может содержать заинлайненные. В таком случае совершенно логично, что они отсутствуют в shared.

почему всё начинало работать после простого сохранения ?)

Потому что Excel при сохранении файла его полностью перезаписывает. А он сам никогда (по крайней мере, мне не встречалось) не использует заинлайненные строки. Поэтому после сохранения получалось, что все строки находятся в shared и код начинал работать.

READ ALSO
Кэширование частообновляемой базы

Кэширование частообновляемой базы

Имеется база из 6000 элементов(и это не предел), в ней 35 полей из которых половина обновляется чуть ли не каждые 5 минут(а у некоторых записей...

231
Как прибавить к дате часовой пояс?

Как прибавить к дате часовой пояс?

Нужно прибавить к текущей дате разницу между часовыми поясамиВ чем суть, у меня часовой пояс GMT +2, необходимо выводить время пользователей

222
отправка данных ajax

отправка данных ajax

Подскажите, как в opencart2 принять данные в модель, у меня есть форма

217
Не подгружаются ресурсы

Не подгружаются ресурсы

Использую Laravel 5, шаблонизатор bladeПытаюсь подгрузить ресурс css следующим образом:

257