以下代码用于使用PHPExcel将XLSX文件转换为CSV:
<?php
require_once 'PHPExcel/PHPExcel/IOFactory.php';
$excel = PHPExcel_IOFactory::load("test123.xlsx");
$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->setDelimiter(";");
$writer->setEnclosure("");
$writer->save("test123.csv");
?>
我正在尝试将大小为70MB的大型excel文件转换为CSV。我收到了这个错误:
Warning: simplexml_load_string(): Memory allocation failed : growing buffer
我在php.ini中增加了max_execution_time
和memory_limit=-1
。
任何人都可以告诉我为什么这个错误会在哪里出错?
答案 0 :(得分:0)
嗯,对你的建议很少:
toArray()
方法消除构建数组的单元格的循环。尝试组合或所有上述建议,看看它是否对您有所帮助。另外,请参阅论坛的this讨论。
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
PHPExcel_Settings::setCacheStorageMethod($cacheMethod);
参考this和以下说明来理解它。