PHPExcel писать на лету?


Ищу класс PHP для создания ОГРОМНЫХ xlsx-файлов без необходимости выделять огромную память для всего файла, чтобы он поместился в памяти.

Нам нравится PHPExcel, но нам нужен способ записи на лету, а не загрузка всего файла в память, а затем вызов функции для его записи.

Видел аналогичный вопрос, но нет четкого указания на решение.

Чтобы уточнить -

У вас есть 1 ГБ доступной памяти, и вам необходимо создать файл Excel объемом 3 ГБ.

Существует ли существующий класс/метод для достижения этой цели?

Author: Mike Peters, 2012-04-11

2 answers

Секрет создания xlsx-файлов заключается в том, чтобы записать их в виде таблиц HTML, это очень быстрый способ создания базовых электронных таблиц Excel.

Хитрость заключается в том, чтобы написать таблицу HTML и сохранить ее с расширением .xlsx. Затем его можно открыть с помощью Excel. Простой.

И с помощью HTML вы можете создавать эти красивые заголовки с логотипами компаний. В нем есть все!

 0
Author: The Man, 2012-04-10 20:44:12

Ура!

В итоге мы решили эту проблему, написав наш собственный класс PHP Excel, способный генерировать файлы xlsx НЕОГРАНИЧЕННОГО размера, записывая "на лету" (никогда не загружая все данные в память).

Спасибо всем, кто поделился своими отзывами и идеями! Весьма признателен.

В нашем классе нет всех наворотов, которые предлагает phpexcel.codeplex. Мы поддерживаем шрифты, базовый стиль и автоматическое создание листов, когда ваш набор данных превышает 1 миллион строки.

Собираюсь очистить класс и разместить его на Github для всех желающих. Я обновлю этот пост с URL-адресом, как только он станет доступен.

 -3
Author: Mike Peters, 2012-05-11 00:35:06