Foros del Web » Programando para Internet » PHP »

Generar Excel desde PHP

Estas en el tema de Generar Excel desde PHP en el foro de PHP en Foros del Web. Hola a todos. Quiero crear un archivo Excel con los resultados de una consulta que hago con PHP a la base de datos, pero no ...
  #1 (permalink)  
Antiguo 30/10/2007, 18:43
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 0
Generar Excel desde PHP

Hola a todos. Quiero crear un archivo Excel con los resultados de una consulta que hago con PHP a la base de datos, pero no sé muy bien como crear dicho archivo. Me comentaron que puedo poner lo siguiente:

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


al principio de mi archivo para generar el archivo Excel, pero al abrir dicho archivo no se muestran las celdas de división de la hoja de Excel. No sé a que se deba, o si exista alguna otra forma mejor de crear un archivo Excel desde PHP.

Gracias por su atención.

Saludos
  #2 (permalink)  
Antiguo 30/10/2007, 19:10
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Generar Excel desde PHP

Cita:
la forma más cómoda de leer archivos Excel es PHP-ExcelReader , una clase capaz de leer datos de archivos xls sin utilizar objetos COM, lo que la hace independiente de la plataforma en la que esté el servidor de la aplicación. Una vez bajada e incluída su librería entre las de la aplicación, se usa de la siguiente forma:

include('reader.php'); $excel_reader = new Spreadsheet_Excel_Reader(); $excel_reader->read("archivo_excel.xls");
Esto lo explican en webtaller

Suerte!
  #3 (permalink)  
Antiguo 30/10/2007, 19:47
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: Generar Excel desde PHP

Por que no generas un archivo separado por comas y lo guardas como .cvs para cada renglon solamente hay que ponerle "\n" o bien como dice en las faq con una tabla http://www.forosdelweb.com/f18/faqs-...46/#post254356
  #4 (permalink)  
Antiguo 30/10/2007, 20:02
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Generar Excel desde PHP

Habra que ver que quiere hacer kava001 pero es incomodo andar exportando como CSV (contra leer directamente el XLS o conectar de alguna manera al archivo)
  #5 (permalink)  
Antiguo 31/10/2007, 11:35
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: Generar Excel desde PHP

A mi entender segun dice aca:
Cita:
Iniciado por kava001 Ver Mensaje
Hola a todos. Quiero crear un archivo Excel con los resultados de una consulta que hago con PHP a la base de datos
Desea crear un archivo de excel (no leerlo), pero mejor que nos saque de duda el no, aunque parece que no se ha conectado mas
  #6 (permalink)  
Antiguo 31/10/2007, 12:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Generar Excel desde PHP

Gracias a todos por sus respuestas. Pero efectivamente como dice Sergestux lo quiero es CREAR un archivo Excel desde PHP, no leerlo.


Saludos
  #7 (permalink)  
Antiguo 31/10/2007, 14:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 50
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Generar Excel desde PHP

pues solo tienes que hacer una tabla en html, y todo eso acumularlo en una variable....

asi

$tabla="<tabla>";
$tabla.="<tr><td>a1</td><td>a2</td></tr>";
$tabla.="<tr><td>b1</td><td>b2</td></tr>";
$tabla.="</tabla>";

y luego en la pagina que exportas, o puede ser en la misma...

header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename="xxx.xls");
header("Content-Transfer-Encoding: binary");
print $tabla;

Saludos
  #8 (permalink)  
Antiguo 31/10/2007, 15:09
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: Generar Excel desde PHP

Además de lo que dice pelu0, si en una celda pones una fórmula de Excel, como =SUM(A1:C1) te da el resultado.
Lo malo de esta técnica de la tabla y los headers es que en Excel 2007 te marca un error (pero si le das Ok de todos modos lo abre).

Saludos
  #9 (permalink)  
Antiguo 02/11/2007, 11:42
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Generar Excel desde PHP

Gracias por sus respuestas. Lo que comenta pelu0 funcionó para lo que quería.

Saludos
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




La zona horaria es GMT -6. Ahora son las 09:12.