用phpExcelReader不能导入大量数据,该怎么解决

ringa_lee
发布: 2018-05-14 13:33:31
原创
2647人浏览过

用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
感谢各位了!

------解决方案--------------------

PHP code
/* * 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……
登录后复制
WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号