para generar reportes puedes tirarlos a excel donde el usuario tiene control de la pagina ke kiere imprirmir y puedes darle formato pero ... esto es a puro codigo no hay ningun editor visual como el datareport o cristal report .. y puedes hacer reportes a tu manera dandole el formato ke tu deces ..
bueno aki te mando un ejemplo de como pasar los datos a excel ,..
revisa la sintaxis -.. este ejemplo lo econtre en google .. saludos
<?
$shtml="<table>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>Nombre</td><td>Apellido</td><td>Ciudad</td><td>Comuna</td><td>Telefono</td><td>Edad</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>1</td><td>C4325</td><td></td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>2</td><td>DX456</td><td>1000.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>3</td><td> </td><td>-50.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>4</td><td>A18-TG</td><td>20.64</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."</table>";
$scarpeta="c:"; //carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/prueba.xls"; //ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
echo "<a href='".$sfile."'>Haz click aqui</a>";
?>