Yo he venido usando una clase llamada mysql_excel que obtuve en
www.phpclasses.org, es muy sencilla y si no te convence ahi encontraras algunas otras, aca unos ejemplos de como se utiliza:
Código PHP:
include("mysql_excel.inc.php");
$import=new HarImport();
$import->openDatabase(LIB_DB_SERVIDOR,LIB_DB_USUARIO,LIB_DB_CLAVE,LIB_DB_DATABASE);
//To import the data from table
//$import->ImportDataFromTable("usuarios","",true);
//To import the data from sql query
$sql="select r.user_name,p.amount from recruiter r ,payment p where p.user_name=r.user_name"
$import->ImportData($sql,"myXls.xls");
//To force to download
//$import->ImportDataFromTable("clientes","",true);
//Or
$import->ImportData($sql,"export.xls",true);
lo unico que tienes que hacer es colocar los 3 archivos
mysql_excel.inc.php
db.inc.php
excelwriter.inc.php
en la misma carpeta que se ejecuta el script (del ejemplo)