我有大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
行。
谁能告诉我如何解决这个问题。
谢谢你。