Ir al contenido principal

PHP Script Exportar datos a Excel

En esta oportunidad siguiendo el post anterior, de manejo de hojas de calculo (xls), queria mostrarles de una forma visual como podemos exportar a excel una consulta de datos.

Nota:

No es necesario que exista Microsoft Office en el servidor web o del lado del cliente.

Ahora les mostrare el codigo que hace posible la exportación
<?php
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");  
header ("Cache-Control: no-cache, must-revalidate");  
header ("Pragma: no-cache"); 
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=demo.xls" );
//aqui va todo lo que quieres exportar 
//es necesario que consideres manejar una estructura para exportaciones a excel
//no mas recomendable es usar tablas  </table>
?>

Ahora para que la idea este completa necesitamos tener los datos a exportar, asi que creare una tabla (tbalumnos) con registros. Si usted tiene una tabla con la que quiere trabajar no es necesario que haga este proceso; pero si que tenga la idea de lo que se quiere hacer.

CREATE TABLE `Blog`.`tbalumnos` (
`CODIGO` VARCHAR( 4 ) NOT NULL ,
`APELLIDOS` VARCHAR( 80 ) NOT NULL ,
`NOMBRES` VARCHAR( 80 ) NOT NULL ,
`CORREO` VARCHAR( 80 ) NOT NULL ,
`CELULAR` VARCHAR( 15 ) NOT NULL ,
PRIMARY KEY ( `CODIGO` )
);

Ahora inserto datos de un script que tengo en SQL.



Y para que las dudas no te maten te muestro los datos con PHPMyAdmin.


Ahora que viste los datos con los que vamos a trabajar. para este ejemplo solo exportaremos las siguientes campos de la tabla CODIGO, APELLIDOS, NOMBRES
<?php
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");  
header ("Cache-Control: no-cache, must-revalidate");  
header ("Pragma: no-cache"); 
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=alumnos.xls" );
//Conexion MySQL
$link=mysql_connect('mysql.webcindario.com:3306','superahacker','password');

mysql_select_db('superahacker',$link); //-Seleccion Database

$query='SELECT CODIGO,APELLIDOS,NOMBRES FROM tbalumnos '; // Script SQL
$result=mysql_query($query,$link);//-Consulta

$field = mysql_num_fields( $result ); //-Número de Columnas

// Resultado
echo '<table>'; 
//Mostrando los nombres de Columnas 
for ( $i = 0; $i < $field; $i++ ) {
echo '<td>'.mysql_field_name( $result, $i ).'</td>'; } //Mostrando Registros        
while($row=mysql_fetch_array($result)){ 
echo '<tr>'; 
for ( $i = 0; $i < $field; $i++ ) { echo '<td>'.$row[$i].'</td>'; } 
echo '</tr>'; 
} 
echo '</table>';
//Cerrando la Conexion
mysql_close($link);
?>

Ahora solo tienes que adaptar el codigo a tus necesidades; pero me imagino que estaras impaciente por ver en acción el script. pues solo tienes que ingresar al siguiente URL http://superahacker.webcindario.com/phpexportxls/index.php

Comentarios

  1. Que tal, yo tengo el mismo caso, solo que en vez de descargar el archivo, quisiera enviarlo por correo electronico, espero me pudieran ayudar.

    Gracias.

    ResponderBorrar
  2. Muchas gracias, me ayudo mucho en lo que tenia que hacer.
    Bendiciones!!

    ATT: Betsabe

    ResponderBorrar
  3. excelente me ayudo bastante tu aportación y lo adapte a mi código, gracias

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

JSP y MySQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/06/instalacion-netbeans-glassfish.html El modulo JSP con conexion a una base de datos MySQL, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage" , para usar sus metodos y con ellos llevar acabo una consulta.

JSP y MsSQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/09/jsp-y-mysql-conexion-base-de-datos.html El modulo JSP con conexion a una base de datos Ms SQL Server, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage" , para usar sus metodos y con ellos llevar acabo una consulta.

FreeTDS para el acceso a MsSQL desde PHP en Linux CentOS 5

Tema Anterior: http://superahacker.blogspot.com/2009/04/instalacion-de-unixodbc-para-la.html En esta ocasion la situación es como conectar con PHP 5 desde un Servidor Linux a una base de Datos Ms Sql Server en Servidor Windows.