1

我必须阅读 PHP 中的大型 Excel 文件(> 2M 单元格)。我试过 PHP Class phpExcel,但性能更差。现在,我找到了 libXL 库(http://www.libxl.com/)和 PHP Wrapper php_excel。(https://github.com/iliaal/php_excel)。

有没有人体验过读取性能和内存/cpu 使用情况?

4

1 回答 1

2

正是使用这种组合 - libxl + php_excel。这是我能找到的最快的选项,内存使用也比 phpExcel 的情况好一些。我做了比较(大约一年前),它是创建表(写),但你应该得到图片。至少每个单元的内存使用量应该相同。

填充表格:N 行,每行 16 列,每个单元格中包含 10-16 个字符长的值。

*** PHPExcel:

没有缓存:
行 | 时间 | 内存使用 | 每个单元的内存
10k | 70 年代 | 370 MB | 2.4 KB
50k | 10m | 1790 MB | 2.4 KB

缓存(cache_in_memory_gzip):
行 | 时间 | 内存使用 | 每个单元的内存
10k | 110s | 181 MB | 1.2 KB
50k | 10m | 865 MB | 1.1 KB
100k | 20m | 1718 MB | 1.1 KB

缓存(cache_to_disc):
行 | 时间 | 内存使用 | 每个单元的内存
10k | 90 | 218 MB | 1.4 KB

*** LibXL:

行 | 时间 | 内存使用 |
100k | 25 秒 | 1100 MB |
20 万 | 50 年代 | 2200 MB |
30 万 | 85 年代 | 3500 MB |
于 2013-09-30T07:41:06.327 回答