我需要将Excel文件(.xlsx)中的所有数据插入到我的数据库中。我已经尝试了所有可用的方法(例如缓存),使其逐块读取,但似乎根本没有任何作用。以前有人尝试过使用大文件吗?我的电子表格有大约32列和大约70万行记录。

该文件已经上传到服务器中。我想编写一个cron作业以实际读取excel文件并将数据插入数据库。我将其分块以仅每次读取5000、3000甚至10条记录,但没有任何作用。发生什么情况将返回此错误:


  simplexml_load_string():内存分配失败:缓冲区增加。


我确实尝试了CSV文件类型,并设法使事情每次以4000k记录的速度运行,但是每次都需要大约五分钟的时间来处理,但是更高的处理也会失败。并得到相同的错误。但是需求在.xlsx文件类型中需要它,因此我需要坚持这一点。

最佳答案

考虑使用外部工具(如ssconvert包中的Gnumeric)将其转换为CSV格式,然后使用fgetcsv函数逐行读取CSV。

关于php - 如何使用PHPExcel将80MB + xlsx处理到数据库MySQL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23171114/

10-11 20:45
查看更多