Для формирования использую phpExcel. Файл формируется и при скачивании с сервера по ftp или по прямой ссылке файл открывается. А если отправлять его клиенту через header(), то файл не открывается. Пишет «действительный формат открываемого файла отличается от указываемого его расширением имени файла». И файл при этом имеет нулевой размер.
Код отправки:
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="orders.xls"');
header('Cache-Control: max-age=0');
header("Content-Length: " . filesize($_SERVER['DOCUMENT_ROOT'].'/files/orders.xls'));