[Ayuda] Crear XLS's con PHP

Jonathan Hernandez ion en gluch.org.mx
Mie Mar 24 10:51:19 CST 2004


Hola

> Ahora lo que mi jefe quiere es que de una base de datos (mySQL) genere mediante
> PHP archivos XLS's con las columnas que el usuario seleccione. ¿Que me
> recomiendan usar? de preferencia que sea libre, y recuerden lo estoy
> desarrollando sopbre XP (sorry).

Construye una tabla con html y mandale el header de excel y listo ;-)

El header es: header ("Content-type: application/x-msexcel");


Mira, en el siguiente ejemplo construyo un calendario y lo devuelvo en
excel con el nombre de "Calendarito.xls", como ves le puedes dar
formato, lo malo es que creo no soporta css, entonces tienes que
formatearlo con esas cosas feas de <font color="#ff9900">, bueno, igual
y funciona ;-)

<?php
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=Calendarito.xls" );
$monthNames = array ("Enero", "Febrero", "Marzo", "Abril",
                     "Mayo", "Junio", "Julio", "Agosto",
                     "Septiembre", "Octubre", "Noviembre", "Diciembre");
$weekDays = array("Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab");
$today = getdate();
$year = $today['year'];
$month = $today['mon'];
$date = getdate(mktime(12, 0, 0, $month, 1, $year));
$first = $date["wday"];
$date = getdate(mktime(12, 0, 0, $month, 1 - $first,$year));
print "<table border=\"1\">";
print "<tr><td
colspan=\"7\"><strong>".$monthNames[$today['mon']]."</strong></td></tr>";
print "<tr>";
for ($i = 0; $i <= 6; $i++)
        print "<td><strong>".$weekDays[$i]."</strong></td>";
print "</tr>";
for ($iWeek = 0; $iWeek <= 5; $iWeek++) {
        print "<tr>";
        for ($iDay = 0; $iDay <= 6; $iDay++){
                if ($date['mday'] == $today['mday'])
                        print
"<td><strong>".$date['mday']."</strong></td>";
                else
                        print "<td>".$date['mday']."</td>";
                $date = getdate(mktime(12, 0, 0, $date['mon'],
$date['mday']+1 ,$date['year']));
        }
        print "</tr>";
}
print "</table>";
?>



Ahh tambien le puedes poner las formulas y el excel al cargar el archivo
las interpretara (cosas como en una celda poner = A4 + A5 )



Espero y te ayude....


Saludos,
Jonathan Hernandez
http://ion.gluch.org.mx



 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda