LibXL с показателем чтения php_excel

Мне нужно прочитать большие файлы Excel в PHP (> 2M Cell). Я пробовал PHP-класс phpExcel, но производительность хуже. Теперь я нашел libXL Libary (http://www.libxl.com/) и PHP Wrapper php_excel для него (https://github.com/iliaal/php_excel).

У кого-нибудь есть опыт чтения и использования памяти/процессора?

1 ответ

Используя именно эту комбинацию - libxl + php_excel. Это самый быстрый вариант, который я смог найти, использование памяти также несколько лучше, чем в случае с phpExcel. Я сделал сравнение (около года назад), это создание таблицы (запись), но вы должны получить картину. По крайней мере, использование памяти на ячейку должно быть одинаковым.

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

<b>*** PHPExcel:</b>

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

<b>*** LibXL:</b>

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

licensed under cc by-sa 3.0 with attribution.