Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: kakashi20 en 11 Junio 2012, 03:52 am



Título: exportar a excel
Publicado por: kakashi20 en 11 Junio 2012, 03:52 am
hola

hay alguna forma de exportar a excel desde php pero que el archivo de excel este en blanco ya creado con un formato de margenes y fuentes predeterminadas y solo sea llena el archivo con los datos...

si alguien me pudiese ayudar se lo agradecería


Título: Re: exportar a excel
Publicado por: dimitrix en 11 Junio 2012, 14:19 pm
hola

hay alguna forma de exportar a excel desde php pero que el archivo de excel este en blanco ya creado con un formato de margenes y fuentes predeterminadas y solo sea llena el archivo con los datos...

si alguien me pudiese ayudar se lo agradecería

Es muy fácil, tienes que hacer un archivo llamado excel.php al que le tienes que meter los siguientes headers: force-download y en type-file (xls)

Luego haces que el texto que salga sea todo en HTML con tablas (nada de divs) y para las imagenes usa el <img>

El excel lo cogerá sin problemas ;-)


Título: Re: exportar a excel
Publicado por: _teiki en 11 Junio 2012, 15:37 pm
 Puedes hacerlo utilizando http://phpexcel.codeplex.com


Título: Re: exportar a excel
Publicado por: WHK en 11 Junio 2012, 20:08 pm
El excel es una mera tabla en html, si renombras el xlsx a .zip verás que es un simple archivo comprimido con una estructura de archivos y durectrios donde uno de ellos es un xml con el contenido de las celdas con sus columnas, de hecho puedes crear una tabla en html y guardarla como .xlsx y el libreoffice o el msoffice te lo van a interpretar super bién.

Desde el mismo archivo también tendrás los tipos de formatos de cáda columna.


Título: Re: exportar a excel
Publicado por: robertito_prado en 18 Junio 2012, 10:11 am
Si, para exportar a excel desde php es asi de facil :

$nombre = basename("estado.csv");   
       
       header("Cache-Control: public");
       header("Content-Description: File Transfer");
       header("Content-Disposition: attachment; filename=".$nombre);
       header("Content-Type: application/force-download");
       header("Content-Transfer-Encoding: binary");
    
            echo "holaa!";


Solo tienes que poner estos headers, y debajo la informacion con echo. Por ejemplo, aqui te creara un archivo llamado estado.csv y en el guardara lo que pone el echo, en este caso "holaa!".