Foros del Web » Programando para Internet » PHP »

exportar un mysql a excel

Estas en el tema de exportar un mysql a excel en el foro de PHP en Foros del Web. Hola amigos, tengo una consulta: quiero poner un boton que al pulsar sobre el me exporte la base de datos a un excel. el problema ...
  #1 (permalink)  
Antiguo 02/10/2006, 17:22
 
Fecha de Ingreso: noviembre-2003
Mensajes: 8
Antigüedad: 20 años, 5 meses
Puntos: 0
exportar un mysql a excel

Hola amigos, tengo una consulta:
quiero poner un boton que al pulsar sobre el me exporte la base de datos a un excel. el problema es que no se como decirle que haga eso, no se que codigo tendria que ponerle. si alguien lo sabe por favor si me lo puede pasar se lo agradeceria bastante . la verdad encontre algo buscando en internet pero no entendi nada, lo que pasa es que soy una total novata en esto. gracias por cualquier ayuda que puedieran darme. gracias.
  #2 (permalink)  
Antiguo 02/10/2006, 18:09
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Aca encontre algo una consulta sql que genera un archivo cvs (creo que es para exel)
probalo y contanos como te fue
http://lists.mysql.com/mysql-es/1574
  #3 (permalink)  
Antiguo 02/10/2006, 18:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 8
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta

gracias, entre a la pagina que me diste pero no aparece el codigo que se utiliza para exportar a excel. asi que sigo en las mismas con el mismo problema.
  #4 (permalink)  
Antiguo 02/10/2006, 20:18
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Si que tiene el codigo...
-----------------------------------------
Select a,b,c into out file 'path/archivo.csv' fields terminated by ',' lines
terminated by '\n'
From miTabla
Where algunas=restricciones
----------------------------------------
Por lo que se ve hace una consulta a la db y lo guarda en un archivo 'archivo.csv'

Hace algunas pruebas-error tal vez funcione
  #5 (permalink)  
Antiguo 02/10/2006, 20:32
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Aca hay un post donde uno estaba haciendo algo como eso
http://www.forosdelweb.com/showthrea...ighlight=mysql
Podes buscar el error que le da a el o tal vez con otra consula sql no tengas el mismo problema
  #6 (permalink)  
Antiguo 02/10/2006, 20:56
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
Yo lo que hice y me quedo muy bien

1.Hice el formato en el propio excell como quiero que me quede
2. Exporte como XML
3. ese codigo lo puse en mi codigo de php insertando variables y blucles

el header lo busque rapido aqui

http://www.subflash.com/foro/viewtop...54502939aaed63

header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=fecha.xls");


me parece que en la oficina tengo uno mejor.

Fijate que el en el header usas la extension XLSy no XML, exell lo reconoce sin problema

La ventaja es que puedes usar funciones y cantidad de cosas t ye funciona muy bien

La desventaja es que si haces un cambio de diseño los Styles y otros atributos se te mueven y es muy dificil de actualizar

Saludos X.
  #7 (permalink)  
Antiguo 03/10/2006, 09:34
 
Fecha de Ingreso: noviembre-2003
Mensajes: 8
Antigüedad: 20 años, 5 meses
Puntos: 0
De acuerdo

ok muchas gracias ya me funciono. esta perfecto
  #8 (permalink)  
Antiguo 06/10/2006, 21:26
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
Cita:
Iniciado por seyacat Ver Mensaje
1.Hice el formato en el propio excell como quiero que me quede
2. Exporte como XML
3. ese codigo lo puse en mi codigo de php insertando variables y blucles

el header lo busque rapido aqui

http://www.subflash.com/foro/viewtop...54502939aaed63
header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=fecha.xls");
.
hola amigos, disculpen que vuelva a preguntar viendo que la respuesta esta dada aki mismo, pero es mi primer archivo a excel que hare y no se interpretar los pasos

en el punto 2 como exporto a xml?

en el punto 3 fue este codigo?
Código PHP:
Select a,b,c into out file 'path/archivo.csv' fields terminated by ',' lines
terminated by 
'\n'
From miTabla
Where algunas
=restricciones 
ojala me puedan orientar un poco mientras lo sigo analizando
saludos
  #9 (permalink)  
Antiguo 07/10/2006, 08:35
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
Ambas son dos tipos de soluciones distintas, mientras la primera (a cuenta de lisandro_Arg) lo soluciona directamente con MySQL generando un archivo de exportacion CSV (comma separated value) que es perfectamente legible por M$ Excel.

La opción que te expuso seyacat no es generar XML, sino generar una tabla HTML , que también es legible por Excel, aunque con sus debidas limitaciones. En este caso se genera una tabla HTML que se va almacenando en una variable que al final es volcada a un archivo al que, en cierta forma, arbitrariamente se le pone la extensión XLS.

Ambas opciones son buenas, en las FAQ's hay un ejemplo sino mal recuerdo de realizar algo similar.

Otra opción que tambnién podrías considerar incluso es usar COM para directamente agregarle los valores a las celdas de un archivo de Excel, con la salvedad de que esta solución únicamente funciona en sistemas Winbugs xD.

Checa las FAQ's por cualquier cosa, si eres principiante te recomiendo ampliamente la segunda opción.

Saludos y suerte
  #10 (permalink)  
Antiguo 07/10/2006, 09:15
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
xcias ray_rokus, de la faq que saque una solucion antes de postear aqui, pero tengo un problema con pq tiene una condicion do-while y no me imprime toda la lista, por eso busco menraas alternaticvas para hacerlo. puedes verlo en este enlace si es que tienes alguna sugerencia. mientras vere seguire viendo este codigo SALUDOS
  #11 (permalink)  
Antiguo 07/10/2006, 12:22
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta, porque do while y no while?

Si ese script te causa problemas, porque no sólo tomas la idea y lo implementas a tu modo dependendiendo de lo que requieres. Porque no inicias por hacerlo de la siguiente forma:

1.- Haz que tu script primero dibuje en tablas lo que tu requieres, esto no debe ser complicado para ti. Nada más verifica que se despliegue correctamente.

2.- Reeemplaza todos los echo que coloques por una variable acumulativa que almacene el string de toda la definición de la tabla.

3.- Crea el archivo y escribe dentro de él, la variable acumulativa.

Toma en cuenta nada más que Excel sólo reconoce la estructrura de las tablas, más no le pidas que te reconozca tags como <p> y <br> porque quiza no siempre lo haga como lo requieras. Todo mételo en tablas.
Imagina que todas las tablas están contenidas en llamémosle así una "megatabla" de 1 columna por nfilas que sean necesarias, donde en cada <td> (celda) meterías cada tabla que requieras que se imprima.

Espero haya podido explicarb bien mi punto.

Saludos y suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:58.