Оказалось, что класс PHP-ExcelReader не корректно работает на 64-битных системах(в моем случае FreeBSD 7.2 64bit), выводя ошибку “Uninitialized string offset: 2199023255040 in ../../ oleread.inc“.
Происходит эта ошибка, как оказалось из-за функции GetInt4d из этого файла, которая не работает под 64битными системами.
Лечится с помощью патча от Andreasa Rehm’a. Для этого необходимо код в функции GetInt4d заменить на следующий:
$_or_24 = ord($data[$pos+3]);
if ($_or_24>=128)
$_ord_24 = -abs((256-$_or_24) < < 24);
else
$_ord_24 = ($_or_24&127) << 24;
return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24;
источник решения проблемы
Появилась для скачивания FreeBSD 7.0-BETA1. Kris Kennaway(разработчик FreeBSD) опубликовал 