02 $data->setOutputEncoding('utf-8')//设置读取编码
03 $data->read($p)//$p就是excel文件路径
04
05 for ($i = 2 $i <= $data->sheets[0]['numRows'] $i++) {
06 //传如数组,将一行信息写入数据库;
07 $arr = $data->sheets[0]['cells'][$i]
08 if($arr){
09 $r = addUserLine($arr,$posts['bid'])
10 if($r){
11 echo "楼栋:".$r['bldgname']." 房间:".$r['roomname']." 学员:".$r['name']." 学号:".$r['sid']." 导入成功<br /><hr />"
12 }else{
13 echo "<br /><hr />"
14 }
15 }
16 }
项目需要批量导入excel文件,如果里面有重复的数据要怎么处理呢?每插入一次数据都要到数据库查询么?回复内容:
项目需要批量导入excel文件,如果里面有重复的数据要怎么处理呢?每插入一次数据都要到数据库查询么?
1、如果里面有重复的数据要怎么处理呢?
1
<code>可以先判断数据库是否有该数据。</code>
2、每插入一次数据都要到数据库查询么
1
<code>是的。</code>
先去重得到没有重复的数据,再批量插入数据库。也可以尝试MYSQL中的insert ignore into或 replace into
如果查询比较慢,对不能重复的字段加唯一键,然后用INSERT IGNORE INTO
php批量导入数据出错
我现在要做的是,把一个产品数据从EXCEL中导入到PHP的MYSQL中,导入的过程中,总是会提示“Allowed memory size of 167772160 bytes exhausted (tried to allocate 689919 bytes) in D:\wamp\www\Company\product\admin\uploadOrder.php on line 167”这个错误,然后我分成第100条导入时,就不会提示这个错误,这个是不是内存溢出,有没有好的解决方法呢?
------解决方案--------------------
php.ini中讲memory_limit选项设置大一点,然后重启apache或nginx就行了
------解决方案--------------------
文件太大了,这样的话可以用source命令直接导入!
------解决方案--------------------
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)