PHP 用PHPExcel往数据库导入大量数据 30
比如excle中有很多数据,我要一次性导入的话会有死循环,而且有的会到不进去,。我怎么解决这个问题。。。。。导入大量数据excel...
比如excle中有很多数据,我要一次性导入的话会有死循环,而且有的会到不进去,。我怎么解决这个问题。。。。。导入大量数据excel
展开
5个回答
2018-07-28 · 互联网+时代高效组织信息化平台
关注
展开全部
php导出大量数据的Excel:
PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题
Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚客户是什么版本。
要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp + phpmyadmin是一个易用性和性能都最平衡的选择
PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,不妨调整一下php.ini配置,把超时时间和内存限制都改到很大
如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入
PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题
Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚客户是什么版本。
要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp + phpmyadmin是一个易用性和性能都最平衡的选择
PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,不妨调整一下php.ini配置,把超时时间和内存限制都改到很大
如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
奇怪可以有更好的办法解决,
你可以像做分页一样,查询一段插入一段,
这样避免PHP的超时,
有时虽然用limit(0)无限大超时时间,但是大批量数据还是容易出现顺序和丢失的。
你可以像做分页一样,查询一段插入一段,
这样避免PHP的超时,
有时虽然用limit(0)无限大超时时间,但是大批量数据还是容易出现顺序和丢失的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用set_time_limit(0);这样就避免了程序执行30秒自动停止了,可以一直执行
追问
比如我导入10条数据,就执行成功。导入1百多条就空白了。而且只导入了69条。其他再补执行下去了。为什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询