当前位置: 代码迷 >> PHP >> 用phpExcelReader不能导入大量数据解决办法
  详细解决方案

用phpExcelReader不能导入大量数据解决办法

热度:38   发布时间:2016-04-28 18:26:37.0
用phpExcelReader不能导入大量数据
我在网上找了个例子,可以通过phpexcel将excel文件导入到数据库中,但是数据一旦超过122条,例如一个excel文件中有123条数据就无法导入。我讲代码贴出来,大家看看:
require_once '../phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('GB2312');
$data->read('../lfx.xls');
}

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) 
  {

for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) 
{

echo $data->sheets[0]['cells'][$i][$j];
}
}

以上代码在excel文件小于123条时就可以打印出所有记录在网页上,但是大于等于123条时就是空白,而我需要导入一个5000条以上的数据,苦恼中。


附上phpExcelReader以及我的excel
感谢各位了!
------解决思路----------------------
/*
 * PHPExcel.V1.7.6版本 [读取示例]
 */
include 'PHPExcel/IOFactory.php';
$filename = "d:/test.xls";
$readType = PHPExcel_IOFactory::identify($filename);  //在不知道文档类型的情况下获取
$excelReader = PHPExcel_IOFactory::createReader($readType);
$PHPExcelObj = $excelReader->load($filename);
$currentSheet = $PHPExcelObj->getSheet(0);            //选取第一张表单(Sheet1)为当前操作的表单
$excelRows = $currentSheet->getHighestRow();          //获取最大行
$excelColumn = $currentSheet->getHighestColumn();     //获取最大列
foreach(range(1,$excelRows) as $row){
    $line = '<p>';
    foreach(range('A',$excelColumn) as $column){
        $line .= $currentSheet->getCell($column.$row)->getValue().",";
    }
    $line .= '</p>';
    echo $line;
}



------解决思路----------------------
引用:
我在网上找了个例子,可以通过phpexcel将excel文件导入到数据库中,但是数据一旦超过122条,例如一个excel文件中有123条数据就无法导入。我讲代码贴出来,大家看看:
require_once '../phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutput……


用这个吧:http://www.phpclasses.org/package/6235-PHP-Parse-and-access-binary-Excel-files-in-pure-PHP.html

用过后觉得很不错,支持中文,支持xlsx格式,可以遍历解析所有的表、列、行、以及单元格。之前也是用的phpExcelReader,发现问题比较多,于是找到这个。
  相关解决方案