Foros del Web » Programando para Internet » PHP »

¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Estas en el tema de ¿Como puedo exportar una base de datos de MySQL a formato de Excel? en el foro de PHP en Foros del Web. ¿Como puedo exportar una base de datos de MySQL a formato de Excel? Hola, necesito exportar una base de datos a un archivo de excel. ...
  #1 (permalink)  
Antiguo 08/04/2007, 07:01
niv3web
Invitado
 
Mensajes: n/a
Puntos:
¿Como puedo exportar una base de datos de MySQL a formato de Excel?

¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Hola, necesito exportar una base de datos a un archivo de excel. Seria bueno hacerlo hacindo click en un boton de formulario o en un link no se, nunca lo he hecho. si alguien me puede orientar le agradezco me de algun ejemplo en codigo.

Desde ya muchas gracias...

Salu2
  #2 (permalink)  
Antiguo 08/04/2007, 11:57
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

La manera más fácil es que hagas la consulta a la tabla correspondiente y desde PHP imprimas una tabla HTML normal a eso lo guardas con la extensión xls y ya tenes un excel. Para hacerlo todo automático envías las cabeceras para decirle al navegador que descargará un archivo y que este será un excel... y ya con eso tenes lo que quieres.

Saludos.
  #3 (permalink)  
Antiguo 09/04/2007, 11:07
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Hola.

Yo también estoy interesado en este tema. La parte de la consulta y mostrarlo todo en una tabla es fácil pero, el resto no sé muy bien cómo va. ¿De qué manera se usarían las cabeceras para ello? ¿Es indispensable imprimir por pantalla la tabla con todos los datos o esos datos son los que hay que enviarlos en la cabecera?

Si puedes orientarme un poco en ese aspecto concreto te lo agradezco.
__________________
por Pip
  #4 (permalink)  
Antiguo 09/04/2007, 11:10
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

una manera mas facil seria esta
Código PHP:
archivo"cotizar.xls";

if (!
file_exists($archivo)) {
    
$sw=1;
    
$cabezera="Nombres\tApellido Paterno\tApellido
Materno\tRut\tTelefono\tCelular\tEmail\tModelo Auto\tMetodo de
Contacto\tObservaciones\tRegion\tComuna o Ciudad\tLugar de Atencion\tFecha
de Envio\n"
;
}

   
$cadena $nombre;
   
$cadena .= "\t".$apellido;
   
$cadena .= "\t".$apellido2;
   
$cadena .= "\t".$rut;
   
$cadena .= "\t".$telefono;
   
$cadena .= "\t".$celular;
   
$cadena .= "\t".$email;
   
$cadena .= "\t".$modelo;
   
$cadena .= "\t".$contacto;
   
$cadena .= "\t".$observaciones;
   
$cadena .= "\t".$Region;
   
$cadena .= "\t".$Lugar;
   
$cadena .= "\t".$CIUDAD;
   
$cadena .= "\t".date('d/m/Y h:i:s A');
   
$cadena .= "\n";

   
$p=fopen("$archivo","a");
   if(
$p){
        if (
$sw==1){
         
fputs($p,$cabezera);
         
$sw=0;
     }
     
fputs($p,$cadena);
   }
   
fclose($p); 
y haci pueden cambiar la extension de xls a txt etc cualquier tipo de archivo plano
ahora esto esta a modo de ejemplo para que se entienda deben deben aplicar un consulta y generar sus variables solo eso cualquier duda me dicen :)

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 09/04/2007, 11:17
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Cita:
Iniciado por kaninox Ver Mensaje
una manera mas facil seria esta
Código PHP:
archivo"cotizar.xls";

if (!
file_exists($archivo)) {
    
$sw=1;
    
$cabezera="Nombres\tApellido Paterno\tApellido
Materno\tRut\tTelefono\tCelular\tEmail\tModelo Auto\tMetodo de
Contacto\tObservaciones\tRegion\tComuna o Ciudad\tLugar de Atencion\tFecha
de Envio\n"
;
}

   
$cadena $nombre;
   
$cadena .= "\t".$apellido;
   
$cadena .= "\t".$apellido2;
   
$cadena .= "\t".$rut;
   
$cadena .= "\t".$telefono;
   
$cadena .= "\t".$celular;
   
$cadena .= "\t".$email;
   
$cadena .= "\t".$modelo;
   
$cadena .= "\t".$contacto;
   
$cadena .= "\t".$observaciones;
   
$cadena .= "\t".$Region;
   
$cadena .= "\t".$Lugar;
   
$cadena .= "\t".$CIUDAD;
   
$cadena .= "\t".date('d/m/Y h:i:s A');
   
$cadena .= "\n";

   
$p=fopen("$archivo","a");
   if(
$p){
        if (
$sw==1){
         
fputs($p,$cabezera);
         
$sw=0;
     }
     
fputs($p,$cadena);
   }
   
fclose($p); 
y haci pueden cambiar la extension de xls a txt etc cualquier tipo de archivo plano
ahora esto esta a modo de ejemplo para que se entienda deben deben aplicar un consulta y generar sus variables solo eso cualquier duda me dicen :)

saludos
Ehh????

No lo tomes a mal pero no tiene nada que ver lo que has puesto.

Código PHP:
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=reporte.xls");

echo 
'<table>';
echo 
'<tr><th>Nombres</th><th>Apellido</th></tr>';
echo 
'<tr><td>Dario</td><td>Ocles</td></tr>';
echo 
'<tr><td>Carlos</td><td>Garcia</td></tr>';
echo 
'<tr><td>Gato</td><td>Montes</td></tr>';
echo 
'</table>'
No lo probé, pero debería funcionar... pruebenlo y me dicen.

Saludos.
  #6 (permalink)  
Antiguo 09/04/2007, 11:20
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Código PHP:
<?php 
header
("Content-type: application/vnd.ms-excel");  
header("Content-Disposition: attachment; filename=archivo.xls");  
//en la sigte linea colocar entre comillas el nombre del servidor mysql (generalmente, localhost) 
$servidor=""
//en la sigte linea colocar entre comillas el nombre de usuario 
$user=""
//en la sigte linea colocar entre comillas la contraseña 
$pass=""
//en la sigte linea colocar entre comillas e nombre de la base de datos 
$db=""
//en la sigte linea colocar entre comillas e nombre de la tabla
$tabla=""
mysql_connect($servidor,$user,$pass); 
mysql_select_db($db); 
$qry=mysql_query("select * from $tabla"); 
$campos mysql_num_fields($qry); 
$i=0
echo 
"<table><tr>"
while(
$i<$campos){ 
echo 
"<td>"mysql_field_name ($qry$i); 
echo 
"</td>"
$i++; 

echo 
"</tr>"
while(
$row=mysql_fetch_array($qry)){ 
echo 
"<tr>"
 for(
$j=0$j<$campos$j++) { 
 echo 
"<td>".$row[$j]."</td>"
 } 
 echo 
"</tr>"

echo 
"</table>"
?>
  #7 (permalink)  
Antiguo 09/04/2007, 11:51
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

jejeje no me lo tomo a mal pero por que dices que no tiene nada que ver :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #8 (permalink)  
Antiguo 09/04/2007, 11:56
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Creo que la idea de kaninox era llevar a cabo lo mismo pero sin usar los headers sino ficheros tradicionales. Yo no entiendo muy bien el uso de los headers, pero voy a ponerme ahora a ver cómo usarlos para conseguir eso. Realmente yo no quiero exportar la base de datos a excel, sino una parte, así que basta con que cambie la consulta.

Me gustaría que esto estuviera en las faqs más detallado.

Gracias a todos.
__________________
por Pip
  #9 (permalink)  
Antiguo 10/04/2007, 12:48
niv3web
Invitado
 
Mensajes: n/a
Puntos:
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Gracias a todos, especialmente a Panino5001 Que me lo dio como para que no tenga que laburar, jeje. La opcion de kaninox no la probe y me custa mas entenderla. En fin ya tengo lo que buscaba, muchas gracias.

Ahora me entra una duda...

¿Sera posible que este excel se mande por mail al mismo tiempo en vez de guardarlo????

¿o habria que guardarlo antes en el servidor para luego mandarlo?

lo que me hace preguntarme... ¿Es posible adjuntar archivos en la funcion mail?

Algo mas... ¿si se quiciera exportar varias tablas al mismo tiempo se podria?

Como veran tengo mas preguntas que respuestas. Gracias por los aportes

Salu2

Rodrigo

Última edición por niv3web; 10/04/2007 a las 12:54
  #10 (permalink)  
Antiguo 10/04/2007, 13:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Fijate si algo así te sirve (larga discusión que no sé bien si le sirvió a mi interlocutor finalmente; en lugar de excel el archivo es csv, pero es casi lo mismo):
http://www.programacionweb.net/foros...=8751#mens8751
  #11 (permalink)  
Antiguo 10/04/2007, 13:46
niv3web
Invitado
 
Mensajes: n/a
Puntos:
Re: ¿Como puedo exportar una base de datos de MySQL a formato de Excel?

Gracias Panino, lo voy a estudiar. La verdad lo veo algo dificil, mis conocimientos son algo limitados, recien empiezo a trabajar con php. De todas formas gracias, despues te cuento como me fue.

Saludos

Rodrigo
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:30.