libXL与php_excel读取性能

时间:2013-09-02 10:26:11

标签: php excel libxl

我必须在PHP中阅读大型Excel文件(> 2M Cell)。 我已经尝试了PHP类phpExcel,但性能更差。 现在,我找到了libXL Libary(http://www.libxl.com/)和PHP Wrapper php_excel。(https://github.com/iliaal/php_excel)。

有没有人遇到读取性能和内存/ CPU使用情况?

1 个答案:

答案 0 :(得分:2)

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

Populate table: N rows, 16 columns each row, 10-16 character long value in each cell.

*** PHPExcel:

Without caching:
Rows | Time | Memory usage | Memory per cell
10k  | 70s  | 370 Mb       | 2.4 Kb
50k  | 10m  | 1790 Mb      | 2.4 Kb

Caching (cache_in_memory_gzip):
Rows | Time | Memory usage  | Memory per cell
10k  | 110s | 181 Mb        | 1.2 Kb
50k  | 10m  | 865 Mb        | 1.1 Kb
100k | 20m  | 1718 Mb       | 1.1 Kb

Caching (cache_to_disc):
Rows | Time | Memory usage | Memory per cell
10k  | 90   | 218 Mb       | 1.4 Kb

*** LibXL:

Rows | Time | Memory usage  | 
100k | 25s  | 1100 Mb       | 
200k | 50s  | 2200 Mb       | 
300k | 85s  | 3500 Mb       |