Yo cuando hago un reporte en php y quiero que me lo muestre en excel solo uso de la siguiente forma este header, lo coloco al inicio de mi archivo php:
Código PHP:
<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=nombre_del_archivo_a_generar.xls");
?>
Luego hago mi consulta Mysql, uso tablas para mostrar el resultado de mi consulta.
Bye.