我有大xlsx
个文件。我想在一个数组中读取(使用PHPExcel)并在mysql数据库中加载该数组。当我为相同的代码加载小的xlsx文件时它工作正常但是对于大文件给出警告:simplexml_load_string():内存分配失败:增长缓冲区
这是我的代码:
<?php
$inputFileType = PHPExcel_IOFactory::identify('mylarge.xlsx');
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load('mylarge.xlsx');
$total_sheets=$objPHPExcel->getSheetCount();
$allSheetName=$objPHPExcel->getSheetNames();
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
for ($row = 1; $row <= $highestRow; ++$row)
{
for ($col = 0; $col <$highestColumnIndex; ++$col)
{
$value=$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
$arraydata[$row-1][$col]=$value;
}
}
print_r($arraydata);
?>
mylarge.xlsx文件包含700000
行。
任何人都可以告诉我如何解决这个问题。
谢谢。