当前位置:Gxlcms > PHP教程 > 用phpExcelReader不能导入大量数据解决办法

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

时间:2021-07-01 10:21:17 帮助过:20人阅读

用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 = '

';
foreach(range('A',$excelColumn) as $column){
$line .= $currentSheet->getCell($column.$row)->getValue().",";
}
$line .= '

';
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,发现问题比较多,于是找到这个。

人气教程排行