На тостере есть похожий вопрос по оптимизации генерации Excel из PHP, посмотрите, там дельные ответы:
Оптимизация генерации excel из php?
Расскажу также свою историю, не про запись, а про чтение большого Excel файла (несколько десятков страниц, на каждой странице 1000+ строк * 30 столбцов). PHPExcel работал но медленно. Классическая PEAR библиотека оказалась быстрее в 2 раза, но и она в итоге отрабатывала за 60+ секунд (время чтения xls файла в память PHP). Поскольку входной формат файла был известен заранее, я открыл исходники и начал выпиливать оттуда фишки, которые мне не нужны, удаляя лишний код! Некоторые функции вручную инлайнил. В итоге время чтения сократилось до 5 секунд. Резюме: если формат зафиксирован и гибкость не нужна, узкозаточенное решение (после некоторых усилий по заточке) даст хороший результат!
Также на этот вопрос есть классический ответ на StackOverflow, который собрал все альтернативы:
stackoverflow.com/questions/3930975/alternative-fo...
Процитирую здесь, чтобы далеко не ходить или на случай если stackoverflow.com будет не доступен (валидность всех ссылок не проверял):
For Writing Excel
PEAR's
PHP_Excel_Writer (xls only)
php_writeexcel from Bettina Attack (xls only)
XLS File Generator commercial and xls only
Excel Writer for PHP from Sourceforge (spreadsheetML only)
Ilia Alshanetsky's
Excel extension now on github (xls and xlsx, and requires commercial libXL component)
PHP's
COM extension (requires a COM enabled spreadsheet program such as MS Excel or OpenOffice Calc running on the server)
The Open Office alternative to COM (
PUNO) (requires Open Office installed on the server with Java support enabled)
PHP-Export-Data by Eli Dickinson (Writes SpreadsheetML - the Excel 2003 XML format, and CSV)
Oliver Schwarz's
php-excel (SpreadsheetML)
Oliver Schwarz's original version of
php-excel (SpreadsheetML)
excel_xml (SpreadsheetML, despite its name)... link reported as broken
The tiny-but-strong (tbs) project includes the
OpenTBS tool for creating OfficeOpenXML documents (OpenDocument and OfficeOpenXML formats)
SimpleExcel Claims to read and write Microsoft Excel XML / CSV / TSV / HTML / JSON / etc formats
KoolGrid xls spreadsheets only, but also doc and pdf
PHP_XLSXWriter OfficeOpenXML
PHP_XLSXWriter_plus OfficeOpenXML, fork of PHP_XLSXWriter
php_writeexcel xls only (looks like it's based on PEAR SEW)
spout OfficeOpenXML (xlsx) and CSV
Slamdunk/php-excel (xls only) looks like an updated version of the old PEAR Spreadsheet Writer
For Reading Excelphp-spreadsheetreader reads a variety of formats (.xls, .ods and .csv)
PHP-ExcelReader (xls only)
PHP_Excel_Reader (xls only)
PHP_Excel_Reader2 (xls only)
XLS File Reader Commercial and xls only
SimpleXLSX From the description it reads xlsx files , though the author constantly refers to xls
PHP Excel Explorer Commercial and xls only
Ilia Alshanetsky's
Excel extension now on
github (xls and xlsx, and requires commercial libXL component)
PHP's
COM extension (requires a COM enabled spreadsheet program such as MS Excel or OpenOffice Calc running on the server)
The Open Office alternative to COM (
PUNO) (requires Open Office installed on the server with Java support enabled)
Nuovo's
spreadsheet-reader (csv, xls, xlsx, and ods)
SimpleExcel Claims to read and write Microsoft Excel XML / CSV / TSV / HTML / JSON / etc formats
PHPExcleReader Is just a ZIP with an old version of PHPExcel
Akeneo Labs Spreadsheet Parser OfficeOpenXML (.xlsx) and CSV files
spout OfficeOpenXML (xlsx) and CSV
xhook's php-spreadsheetreader Claims to do most formats