php导入Excel 文件不全?

发布于 2022-09-04 08:31:11 字数 377 浏览 22 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

素年丶 2022-09-11 08:31:11

我做过多个关于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处理会快一些

孤云独去闲 2022-09-11 08:31:11

同意楼上,使用独立队列异步cli中处理excel文件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文