php导入Excel 文件不全?
php文件导入不全,Excel里面有2.6万数据,只能导入1.4万条 文件只有5M多,set_time_limit(0)
了也不行,设置了最大上传文件为` import('@.ORG.UploadFile');
$upload = new UploadFile();
$upload -> maxSize = 20000000;` 也不行
现在暂时用了
set_time_limit(90);
ini_set('memory_limit', '1024M');
这种解决办法,请问还有其他什么更佳的方法呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我做过多个关于excel的项目,都采用了PHP。
1.如果上传excel的话,excel的大小限制是被PHP.INI配置文件中的upload_max_filesize限制的
2.导入大文件千万别在web模式下,很容易影响其他服务,尽量在命令行下
3.PHP处理大excel问题,最好放弃这种语言,尤其是在97-03版的excel,该文件是二进制的,需要全部加载到内存,然后才可以解析,一个5M的文件需要多少内存呢?我也不知道为什么会至少需要上百M,我没有具体研究为什么消耗这么多,但是监控结果却是这样的。
4.网上所谓的按行读取都是骗人的,全部都加载到内存了,已经不存在按行读取了。
5.如果非得用PHP处理,那么建议采用workerman或者swoole,另外专门搭建一个服务,然后来异步处理excel
6.set_time_limit不要设置为0,如果web模式下,程序出错了,但是还是一直执行怎么办,所以设置个最大时间
7.python处理这个很快,我之前处理大的excel都是异步让python转成csv,然后在处理,或者干脆给存数据库里
8.也可以对excel大小对限制,每次限制多大的文件,这样PHP处理会快一些
同意楼上,使用独立队列异步cli中处理excel文件