luyaran 2017-10-06 01:57 采纳率: 5.9%
浏览 3092
已结题

如何使用phpEcel读取大型文件,最少10M以上???

场景是这样,采集了一部分数据,大概十几二十兆的样子,现在要把它用程序读取处理一下并且入库,想请问一下各位同仁有没有什么好一点的意见,麻烦指教一下。注:已知的是phpExcel的load和toArray最耗费时间,设置超时时间,还有调大php内存限制,还有就是在处理的时候直接组合成sql来直接执行,我这边就这么多了。请多多指教。

  • 写回答

3条回答 默认 最新

  • compbookjunkie 2017-10-06 14:32
    关注

    如果是.xlsx文件的话,使用spreadsheet-reader是最好的选择https://github.com/nuovo/spreadsheet-reader
    因为phpExcel会把整个文件都装载进内存,对于大文件来说是致命的,而spreadsheet-reader是用的流式解析,速度很快。.csv和.ods也可以读取的
    另外,https://github.com/akeneo/spreadsheet-parser也可以流式读取。

    如果是.xls文件的话,建议先转换一下,因为这个展示没有流式读取的方法。

    评论
  • GEEKLIBIN 2017-10-12 15:00
    关注

    保存成csv文件,能加快读取和写入

    评论
  • caihuan19890113 2017-10-19 07:29
    关注

    同意楼上的说法,一般查过1M的excel文件已经对服务器压力挺大了,建议先转为csv格式,这样速度提高很多!

    评论

报告相同问题?

悬赏问题

  • ¥15 我现在有一些关于提升机故障的专有文本数据,量也不多,我在label studio上进行了关系和实体的标注,完成了知识图谱的构造,那么我使用生成式模型的话,我能做哪些工作来写我的论文?
  • ¥15 电脑连不上无线网络如下诊断反馈应该如何操作
  • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
  • ¥15 在ubuntu中无法连接到远程服务器传输文件
  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部
  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题