Tutoriales de php

Hola ahora vamos a hacer un script que permita exportar el resultado de una consulta a un archivo, en este caso será un archivo de Excel, para empezar tenemos que tener una o mas tabla de donde obtendremos los datos que exportaremos al archivo. En el ejemplo utilizamos la siguiente tabla:

CREATE TABLE `calificaciones` (
   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `alumno` VARCHAR( 40 ) NOT NULL ,
   `parcial1` VARCHAR( 5 ) NOT NULL ,
   `parcial2` VARCHAR( 5 ) NOT NULL ,
   `parcial3` VARCHAR( 5 ) NOT NULL
) ENGINE = MYISAM ;

A continuación realizaremos el script que hace el trabajo, primero nos conectamos al servidor mysql, seleccionamos la base de datos, hacemos la consulta para obtener los datos, después en una variable almacenamos el contenido del archivo dándole el formato con saltos de línea para brincar a una fila nueva  y tabulación para pasar a la celda siguiente.
Y por ultimo hacemos uso de las funcione para manipular archivos. Abrimos el archivo en modo escritura si ya existe lo sobrescribe, después escribimos la cabecera y el contenido.
La variable nombre contiene el nombre del archivo y url la ruta en donde se almacenara el archivo.

<?
//conectamos al servidor server/user/pass
mysql_connect("localhost","root","");
//seleccionamos la bd
mysql_select_db("prueba");

//seleccionamos lo que queremos exportar
$res = mysql_query("SELECT * FROM calificaciones");
while($data = mysql_fetch_assoc($res)){
    //le damos forma al contenido
    //para acomodarlo en el archivo
    $contenido .= $data['id'];
    $contenido .= "\t".$data['alumno'];
    $contenido .= "\t".$data['parcial1'];
    $contenido .= "\t".$data['parcila2'];
    $contenido .= "\t".$data['parcial3'];
    $promedio = $data['parcial1'] + $data['parcial2'] + $data['parcial3'];
    $promedio /=3;
    $contenido .= "\t".$promedio."\n";
}
//cabesera del archivo
$cabezera="ID\tNOMBRE\tPARCIAL1\tPARCIAL2\tPARCIAL3\tPROMEDIO\n";
//ruta y nombre donde se guardara el archivo
$nombre = "resplado.xls";
$url="".$nombre;

//abrimos el archivo en escritura
$p=fopen("$url","w");
if($p){
    //escribimos el contenido
    fputs($p,$cabezera);
    fputs($p,$contenido);
}
//cerramos el archivo
fclose($p);

echo("Se exporto con exito la consuta.<br> Si desea visualizar el archivo pulsa <a href='".$url."'>aqui</a>.");
?>

 

Autor: elgame

Comentarios en "Crear un archivo de Excel desde php (exportar)"

Table 'programa_programas.t_comentarios' doesn't exist