2mdc
C/ Matias Turrión, 24, 1º
Madrid 28043
Tel: 91 759 00 24
Fax: 91 759 15 18

Blog: Aplicaciones web

De MySQL a Excel

Publicado el: 20/02/2006 en: Aplicaciones web | 13 comentarios

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook Envía esta entrada a Twitter

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.

Pincha aquí para descargarlo

Esperamos que estos scripts os sirvan de utilidad y comprobéis las posibilidades que os ofrecen: se aceptan sugerencias y comentarios…

Valore de 1 a 5 este artículo
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 voto(s), media: 5.00 sobre 5)

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>

2mdc.com Aplicaciones web C/ Matias Turrión, 24, 1º, Madrid 28043 Tel: 91 759 00 24 Fax: 91 759 15 18 Aplicaciones web