警告:simplexml_load_string():内存分配失败:增长缓冲区

时间:2013-11-15 06:23:27

标签: php phpexcel

我有大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行。

任何人都可以告诉我如何解决这个问题。

谢谢。

0 个答案:

没有答案