Вы уже определили, почему setReadDataOnly () не работает.
enableMemoryOptimization () не является допустимым методом для любого класса в PHPExcel. Если вы хотите оптимизировать память, вы включаете один из методов кэширования ячеек до загрузки любого файла или создания нового объекта PHPExcel.
$inputFileType = 'Excel2007';
$inputFileName = 'testBook.xlsx';
$r = PHPExcel_CachedObjectStorageFactory::initialize(PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp);
if (!$r) {
die('Unable to set cell cacheing');
}
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($inputFileName);
EDIT
Поток на enableMemoryOptimization (), на который вы ссылаетесь в своем вопросе, принадлежит пользователю, который хотел, чтобы это было встроено в PHPExcel таким образом, чтобы нарушить большинство функциональных возможностей класса, одновременно улучшая производительность для его конкретного варианта использования (за счет большинство других пользователей); и что привело бы к двум несовместимым методам для манипулирования данными в библиотеке. Таким образом, я отклонил это.