Hola he leido tu problema a mi me paso lo mismo prueba con estos headers
Código PHP:
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: -1");
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=nombre_del_archivo.xls");
?>
y despues solo escribe tu html como quieras
Buena suerte espero te sirva
Cuidese ...