Blog: Aplicaciones web
De MySQL a Excel
Publicado el: 20/02/2006 en: Aplicaciones web | 13 comentarios
Las hojas de cálculo son sin duda una de las herramientas ofimáticas más utilizadas. Además, es uso corriente utilizarlas como “bases de datos”, aunque no sean la mejor herramienta para ello. Por eso es muy típico que se nos pida que mandemos un “Excel” con datos de interés extraídos de bases de datos instaladas en el entorno web: entradas de registros, listas de pedidos, etc.
Se pueden encontrar por Internet muchos scripts escritos, por ejemplo, en PHP que vuelcan los contenidos de una base de datos, por ejemplo, MySQL en un archivo Excel.
Sin embargo, estos scripts vuelcan realmente los datos en archivos CSV, que aunque correctamente interpretados por Excel, no permiten dar un “estilo adecuado” a la hoja de cálculo resultante.
Que los datos sean presentados de una forma clara y “con estilo” es algo de vital importancia cuando van destinados a los clientes o a los jefes
.
Afortunadamente, las nuevas versiones de Excel permiten la lectura de ficheros XML que ya incorporan información relevante para la presentación.
Para facilitaros la vida, en la zona de descargas hemos incluido unos scripts que permiten descargar bases de datos MySQL en formato XML compatible con Excel XP o superior.
Esperamos que estos scripts os sirvan de utilidad y comprobéis las posibilidades que os ofrecen: se aceptan sugerencias y comentarios…






Deja tu comentario13 Comentarios
Antonio Angel
14/07/2006
He probado el script haciendole unos cambios para ejecutarlo sin tener que poner los datos del server y demas, pero de que forma se podria hacer esto mismo con solo una tabla definida anteriormente de la base de datos, solo una.
Gracias.
kakashi
22/06/2007
seria de real utilidad si solo si se pudiera hacer que mostrara los registro de una sola tabla.
Ixino
19/09/2007
He modificado para que no tenga que poner los datos del servidor y para que me coja una serie de tablas y algunos campos de esas tablas (de forma un tanto enfarragosa…) pero tengo un problema, el archivo que me crea es de unos 8 megas pero en algunas exportaciones, 1 de cada 2, se me corta el proceso, en diversos lugares, a alguien le ha pasado o sabe como corregirlo? . Gracias
Marcos
20/09/2007
Sin saber cómo lo estás ejecutando (como linea de comandos, o via http) ni donde (servidor remoto, servidor local) sin saber versión del PHP y MySQL, etc es dificil saber que le sucede.
Puede ser que el tiempo que tarda en extraer los datos sea superior al tiempo de ejecución del PHP en ese servidor y se corte cuando alcanza ese tiempo. Puede ser una mala conexión que se interrumpa por el alto tráfico. O simplemente un fallo en la programación con algunas condiciones que hayas introducido…
Ixino
21/09/2007
Es via http, en servidor remoto, usando php 5, pero es que el error me da en un 50% de los casos, de 10 exportaciones 5 salen mal, y cuando me da el error me crea el *.xls pero con un tamaño menor, cada vez que da el error lo da con un tamaño distinto, una vez pueden ser 200kb y otra 2 megas, con lo que me resulta bastante confuso
Marcos
7/10/2007
Hola de nuevo Ixino.
Por lo que dices, te crea siempre el xls, pero en cierto momento deja de enviar el fichero y lo corta.
O bien hay algun caracter que provoca un error o bien es por que tarda demasiado en contestar el servidor.
Mira si el error te da siempre con el mismo fichero (misma consulta SQL) , si es así posiblemente haya algun caracter que lo cause.
Si el error es independiente de la consulta debe de ser algo relacionado con los tiempos.
¡Suerte!
Ixino
11/10/2007
Marcos se trata o trataba de algo relacionado con los tiempo porque dividi el archivo xls en 2 una parte de la informacion a uno y el restro al otro y me lo hace de forma correcta, aunque hay algun metodo como para comprimir la información?, Gracias!
Marcos
16/10/2007
Hola!
Bueno, existe un modulo en Apache (que supongo que es lo que usas como servidor web) el mod-gzip que se supone que comprime los datos enviados al navegador para aligerar la comunicación hacia el cliente.
Deberás activarlo en el INI del Apache:
AddModule mod_gzip.c
LoadModule gzip_module libexec/mod_gzip.so
Fran
17/10/2007
Ok! Muchas gracias tio!
Umamywns
10/06/2008
It’s so interesting:,
Alberto
12/08/2008
Como hacer para que me genere el fiche de solo la tabla que yo quiera?
muchas gracias
luivxxl
3/10/2009
Por favor podria restablecer el enlace de descarga, esta rotooo.
gracias
tpirelar
11/08/2010
Enlace roto…es una lástima!
Deja tu comentario
Tags HTML Permitidos:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>