Si, .. se trata de generar las cabeceras HTTP adecuadas para indicar al navegador que el contendido que va a ser enviado es del tipo Exel.
Código PHP:
<?php
$shtml="<table>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>Id</td><td>Codigo</td><td>US$</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>1</td><td>C4325</td><td>2000.00</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>";
// cabeceras HTTP:
header ("Content-type: Application/msexcel");
header("Content-Disposition: attachment;filename=nose.xls");
// dar salida al buffer (tu variable)
echo $shtml;
?>
También podrías ver el tema de las funciones COM si usas PHP bajo windows ... (el servidor)
www.php.net/com
Un saludo,
PD: Editado .. me faltaron cabeceras HTTP (y faltarían algunas más para redondear el tema ..) pero con esas más o menos ya va algo.