Я использую библиотеку PHPExcel, которая, кажется, отлично справляется с работой, но в моем подходе это не так быстро.многомерный массив PHP или несколько запросов к mysql DB
Мне нужно создать файл excel с выделенными листами, данными, формулами и стилями (жирным шрифтом, цветом, границей), и мне потребуется выделение вычислительных ресурсов и времени.
Я думаю, что мой подход не так хорош. Какой должен быть правильный порядок, когда он собирается создать такой файл (excel), используя PHP-код и данные из базы данных mysql.
1) генерировать все листы без формата/стиля, ни формулы, добавление и ДАННЫЕ формулы и стиль
2) генерировать лист за листом с DATAS, добавляя формулы, добавив стиль
3) ....
Лучше иметь все необходимые данные из БД в многомерном массиве и не запрашивать db каждый раз, когда я хочу писать на новый лист?
Я использую двухъядерный процессор и 4 ГБ или оперативную память, и мне требуется около 1 минуты, если Apache не раздавит.
Обычный буферизованный запрос будет загружать весь набор результатов в память. Это связано с тем, что курсор через данные выполняется клиентской библиотекой C, которую вызывает библиотека PHP. – staticsan