php如何批量导入excel表格文件

php如何批量导入excel表格文件,第1张

$data = new Spreadsheet_Excel_Reader()//实例化    

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命令直接导入!

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11752323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存