Я делаю так:
require_once '../lib/PHPExcel.php';
require_once '../lib/PHPExcel/IOFactory.php';
$pExcel = PHPExcel_IOFactory::createReader('Excel2007');
$pExcel = $pExcel->load('../template/report_full_information.xlsx');
$pExcel->setActiveSheetIndex(0);
$aSheets = $pExcel->getActiveSheet();
/*пишем в файлик все, что нужно через $aSheets->setCellValue()*/
$objWriter = PHPExcel_IOFactory::createWriter($pExcel, 'Excel2007');
$file = "filename.xlsx";
$objWriter->save('../export/'.$file);
На входе файл в 105кб, на выходе - 4,6мб. Время генерации файла на моем железе - порядка 3 минут. Долго, но тут уж ничего не поделаешь