Foros del Web » Programando para Internet » PHP »

pasar una tabla de mysql a excel con php

Estas en el tema de pasar una tabla de mysql a excel con php en el foro de PHP en Foros del Web. hola, estoy exportando una tabla de mysql a excel con php de esta manera <?php require_once('conexion.php'); $query_reg = sprintf("SELECT * FROM entradas"); $c_reg = mysql_query($query_reg) ...
  #1 (permalink)  
Antiguo 20/02/2013, 15:56
Avatar de futusystem  
Fecha de Ingreso: febrero-2013
Ubicación: barcelona
Mensajes: 57
Antigüedad: 11 años, 2 meses
Puntos: 0
pasar una tabla de mysql a excel con php

hola, estoy exportando una tabla de mysql a excel con php de esta manera

<?php
require_once('conexion.php');
$query_reg = sprintf("SELECT * FROM entradas");
$c_reg = mysql_query($query_reg) or die(mysql_error());
$totalRows_reg = mysql_num_rows($c_reg);

header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=prueba.xls");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

echo "<table border=1> ";
echo "<tr> ";
echo "<th>ID</th> ";
echo "<th>TITULO</th> ";
echo "<th>FECHA</th> ";
echo "</tr> ";
while($row_reg = mysql_fetch_assoc($c_reg)){
echo "<tr> ";
echo "<td>".$row_reg['id']."</td> ";
echo "<td>".$row_reg['titulo']."</td> ";
echo "<td>".$row_reg['fecha']."</td> ";
echo "</tr> ";
}
echo "</table> ";
?>

funciona medianamente bien porque efectivamente se descarga el archivo .xls, el problema esta en que al intentar abrir el archivo me da este error:

el archivo que intenta abrir. pruebas.xls, tiene oto formato que el especificado por la extension de archivo. compruebe que el archivo no este dañado y procede de un origen de confianza antes de abrirlo ¿desea abrir el archivo ahora? y me da la opcion de si - no - ayuda, si le doy en no no hace nada pero si le doy en si abre el archivo perfectamente que es lo que deseo hacer. alguien sabe como elimino ese mensaje
  #2 (permalink)  
Antiguo 20/02/2013, 16:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar una tabla de mysql a excel con php

Eso se debe a que lo que imprimes no es un documento de Excel propiamente, estás imprimiendo una tabla de HTML y esa no es la forma correcta.

Lo mejor es que uses PHPExcel para generar el archivo como debe ser.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/02/2013, 16:02
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: pasar una tabla de mysql a excel con php

proba con estos headers:

Código PHP:
Ver original
  1. header('Content-type: application/vnd.ms-excel');
  2. header("Content-Disposition: attachment; filename=prueba.xls");
  3. header("Pragma: no-cache");
  4. header("Expires: 0");

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Última edición por jonni09lo; 20/02/2013 a las 16:03 Razón: me falto escribir saludos --

Etiquetas: excel, mysql, select, sql, tabla
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:12.