Преобразование одного листа в файле XLS в CSV с PHPExcel - исчерпана память

У меня есть файл Excel (97-2003), который нужно импортировать через PHP, и он должен конвертировать только один лист в файле в CSV. Они загружаются пользователями, поэтому нет возможности сделать это вручную. Это должно быть с PHP.

В настоящее время я использую PHPExcel, он работал нормально, пока мы не получили файл с более чем 33 000 строк ... что дает фатальную ошибку PHP:Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 97 bytes) in [pathtophpexcel]\PHPExcel\Worksheet.php on line 11231

Есть ли способ, которым я могу оптимизировать это дальше, или PHPExcel просто не подходит для работы с большими листами? Код, который я использую, довольно прост, поэтому не уверен, удастся ли его оптимизировать дальше, но пальцы скрещены! Вот код, который я использую:

$reader = PHPExcel_IOFactory::createReader('Excel5');
$reader->setReadDataOnly(true);
$reader->setLoadSheetsOnly('Details');

$excel = $reader->load($filename);

$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->save($filename_fixed);

Если PHPExcel не подходит для этой работы, что мне лучше всего использовать?

Редактировать - это рабочий код после предложения Марка

$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '2GB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);

$reader = PHPExcel_IOFactory::createReader('Excel5');
$reader->setReadDataOnly(true);
$reader->setLoadSheetsOnly('Details');

$excel = $reader->load($filename);

$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->save($filename_fixed);

Ответы на вопрос(1)

Ваш ответ на вопрос