使用 PHP 读取大型 .xls 文件

Reading large .xls file with PHP

目前我正在做一个files/data的海量接口,一些文件是XLS格式,我需要将它们规范化为csv(所以基本上,将XLS转换为CSV文件)

问题是 PHPExcel(和类似的库)一次加载整个 sheet 数据从而耗尽内存。

到目前为止,我尝试了各种库(同时协商将数据保存在 csv 中,但到目前为止运气不好)

我正在 运行 对各种大文件大小进行测试,我的内存分配在我的脚本 运行s 使用 ini_set 等之前和之后正确设置

请问有没有办法让我逐行或分块(如 fgetcsv 或 fread)读取 xls?

我正在对此进行编程,因此它可以处理任何文件大小(即使它需要很长时间才能 运行),因为这是一个全自动系统。

PS:我已经检查了这个 post 和其他各种 Reading an Excel file in PHP

可能的方法...

  1. 从其他语言获得帮助。例如找到一个 Python excel 库并使用它。然后从 PHP.
  2. 调用 Python
  3. 修改那些Excel位读者的源代码
  4. 使用命令行工具将 excel 转换为 csv,例如也许是 Pandoc,并在 PHP
  5. 中使用 csv
  6. 由于 xls 文件只是一个 zip 文件,也许可以解压缩并找到值
  7. 首先通过non-PHP解决方案将一个xls分解成许多小的xls文件,例如VBA in excel,然后逐一阅读。