Foros del Web » Programando para Internet » PHP »

como exportar una tabla de mysql a un archivo de excel

Estas en el tema de como exportar una tabla de mysql a un archivo de excel en el foro de PHP en Foros del Web. Chicos saben algo de como exportar una tabla de mysql a un archivo en excel?, si tienen las pautas o el codigo sería grandioso, bueno, ...
  #1 (permalink)  
Antiguo 12/07/2004, 13:08
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
Exclamación como exportar una tabla de mysql a un archivo de excel

Chicos saben algo de como exportar una tabla de mysql a un archivo en excel?, si tienen las pautas o el codigo sería grandioso, bueno, espero su ayuda

Última edición por jviera; 13/07/2004 a las 06:42
  #2 (permalink)  
Antiguo 12/07/2004, 13:12
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 10 meses
Puntos: 2
echa un vistazo a las faq

http://www.forosdelweb.com/showthrea...356#post254356
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 15/07/2004, 11:03
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
ya las vi, pero no me se como aplicarlas, he intentado, pero aún asi, nada
pueden ayudarme
  #4 (permalink)  
Antiguo 15/07/2004, 11:15
Avatar de Ricardo  
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 21 años, 2 meses
Puntos: 0
Es que no tiene secretos esto y es asi de sencillo como figura en el post que te pasaron, yo lo use asi y funciona barbaro.

El punto pasa por crear todo el codigo html en una variable y luego generar el archivo (tene en cuenta que la carpeta donde guardaras el archivo tiene que permitir escritura, lo recomendable es que tenga en unix/linux permisos 777)

Tambien podes obligar a descargar el archivo y al final eliminarlo del disco para que no ocupe lugar.

Aca te paso el ejemplo.

<?php

function Descargar($file){

header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($file));
@readfile($file);

}


$shtml="<table>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>Id</td><td>Codigo</td><td>US$</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>1</td><td>C4325</td><td>2000.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>2</td><td>DX456</td><td>1000.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>3</td><td>&nbsp;</td><td>-50.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>4</td><td>A18-TG</td><td>20.64</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."</table>";
$scarpeta="./exportar"; //carpeta donde guardar el archivo.
$clave=date("dmYHis");
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/".$clave."xxxx.xls"; //ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
//echo "<a href='".$sfile."'>Haz click aqui</a><p></p>";
Descargar($sfile);
unlink($sfile)

?>


Para tu caso que queres usar Mysql tenes que armar la variable $shtml con el contenido de tu bd y listo.
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar

Última edición por Ricardo; 15/07/2004 a las 11:16
  #5 (permalink)  
Antiguo 15/07/2004, 12:55
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
ok, como haces para que tu tabla de mysql, pase a excel con el while, lo he intentado, pero nada, simplemente aqui le das lo valores a exportar
gracias por ello, si puedes ayudarme, sería genial
  #6 (permalink)  
Antiguo 15/07/2004, 13:06
Avatar de Ricardo  
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 21 años, 2 meses
Puntos: 0
Lees cada registro y lo guardas en la variable:

while ($registro = mysql_fetch_array($resultado)) {
$excel = $excel."<tr><td>".$registro[nombre]."</td><td>".$registro[documento]."</td></tr>";
}

Asi de sencillo, espero te sirva para completar tu tarea.

Suerte!!!
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar
  #7 (permalink)  
Antiguo 15/07/2004, 14:52
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
gracias por el dato, pero no se que es lo que pasa, pero el codigo no me funciona, echenle un vistazo, que esta mal?, esta es la pagina

exportar.php
<?
function Descargar($file){
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($file));
@readfile($file);
}

include("../pedidos/fcn/fcnConectarse.php");
$resultado=mysql_query("select * from pedidos");
$shtml="<table>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>Periodo</td><td>Codigo_cta</td><td>cat11</td><td>id_item</td><td>tip_sum</td><td>cls_item</td><td>cant_item</td><td>ficha</td><td>actualiza</td><td>cerrado</td>";
$shtml=$shtml."</tr>";
while ($registro = mysql_fetch_array($resultado)) {
$shtml = $shtml."<tr><td>".$registro[periodo]."</td><td>".$registro[cod_cta]."</td><td>".$registro[cat11]."</td><td>".$registro[id_item]."</td><td>".$registro[tip_sum]."</td><td>".$registro[cls_item]."</td><td>".$registro[cant_item]."</td><td>".$registro[ficha]."</td><td>".$registro[actualiza]."</td><td>".$registro[cerrado]."</td></tr>";
}
$shtml=$shtml."</table>";
$scarpeta="./exportar"; //carpeta donde guardar el archivo.
//$clave=date("dmYHis");
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/"."xxxx.xls"; //ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
//echo "<a href='".$sfile."'>Haz click aqui</a><p></p>";
Descargar($sfile);
unlink($sfile)
?>
  #8 (permalink)  
Antiguo 16/07/2004, 10:41
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
ah me olvidaba, esto lo estoy trabajando en entorno windows, con el xampp
gracias

Última edición por jviera; 16/07/2004 a las 10:42
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 11:26.