[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] Crear XLS's con PHP



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/



[Hilos de Discusión] [Fecha] [Tema] [Autor]