Tema: EXCEL y PHP
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/03/2010, 10:43
andyuruguayo
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: EXCEL y PHP

Mira no se como ayudarte para que una vez que ingreses los datos al excel los vuelvas a meter al mysql automaticamente... lo que te puedo ayudar es a sacar los datos de la consulta hacia un Excel y aqui esta :

Código PHP:
Ver original
  1. $tipo_reporte = $_POST['SelectReporte'];
  2.                    $base = "banred" ;
  3.                    $fecha_des = $_POST['FechaDesde'];
  4.                    $fecha_has = $_POST['FechaHasta'];
Estos son datos que me llegan a mi de otra pagina, a ti te llegaran otros supongo, son datos traidos de un formulario por el metodo POST (me imagino que esto lo debes saber)

Código PHP:
Ver original
  1. $shtml = "<table>";
  2.                                // Aqui comienzo a armar una tabla con la consulta
  3.  
  4.         $conn = mysql_connect("localhost","root","3ntradA");
  5.  
  6.         $sql = "select cli.CodCliente, cli.TipoLlamada, cli.Nombre, cli.Telefono, cli.Interno, cont.CodContacto, cont.Fecha, cont.Hora, cont.Asesor, cont.Resultado, cont.Motivo, cont.Observaciones from cliente cli, contacto cont where cli.CodCliente=cont.CodCliente and Fecha between '$fecha_des' and '$fecha_has' and cont.CodContacto in (select max(CodContacto) maximo from contacto group by CodCliente)"; //Aqui tendras que poner tu consulta SQL
  7.  
  8.         $rs = mysql_db_query($base,$sql);
  9.  
  10.         $total_datos = mysql_num_rows($rs);
  11.  
  12.         $i=0; //esta es la variable que usare luego en un iterador

Hasta ahora lo unico que he hecho aqui es hacer la consulta SQL para luego comenzar a armar la tabla, y esa tabla es la que exportaremos al EXCEL,

Código PHP:
Ver original
  1. while($fila = mysql_fetch_array($rs)){
  2.             $CodCliente_[$i] = $fila['CodCliente'];
  3.             $tipo_llamada[$i] = $fila['TipoLlamada'];
  4.             $nombre_[$i] = $fila['Nombre'];
  5.             $telefono_[$i] = $fila['Telefono'];
  6.             $interno_[$i] = $fila['Interno'];
  7.             $codcontacto_[$i] = $fila['CodContacto'];
  8.             $fecha_[$i] = $fila['Fecha'];
  9.             $hora_[$i] = $fila['Hora'];
  10.             $asesor_[$i] = $fila['Asesor'];
  11.             $resultado_[$i] = $fila['Resultado'];
  12.             $motivo_[$i] = $fila['Motivo'];
  13.             $observaciones_[$i] = $fila['Observaciones'];
  14.             $i++;
  15.         }

Lo anterior lo unico que hace es almacenar los datos en Arrays usando el iterador que inicializamos en 0.

Código PHP:
Ver original
  1. $shtml=$shtml."<tr>";
  2.             $shtml=$shtml."<td>CodCliente</td>";
  3.             $shtml=$shtml."<td>TipoLlamada</td>";
  4.             $shtml=$shtml."<td>Nombre</td>";
  5.             $shtml=$shtml."<td>Telefono</td>";
  6.             $shtml=$shtml."<td>Interno</td>";
  7.             $shtml=$shtml."<td>CodContacto</td>";
  8.             $shtml=$shtml."<td>Fecha</td>";
  9.             $shtml=$shtml."<td>Hora</td>";
  10.             $shtml=$shtml."<td>Asesor</td>";
  11.             $shtml=$shtml."<td>Resultado</td>";
  12.             $shtml=$shtml."<td>Motivo</td>";
  13.             $shtml=$shtml."<td>Observaciones</td>";
  14.         $shtml=$shtml."</tr>";
Aqui lo que hice fue concatenar a la tabla que comence a formar al principio con los titulos que va a llevar cada columna.

Código PHP:
Ver original
  1. for($i=0;$i<$total_datos;$i++){
  2.             $shtml=$shtml."<tr>";
  3.                                                 $shtml=$shtml."<td>".$CodCliente_[$i]."</td><td>".$tipo_llamada[$i]."</td><td>".$nombre_[$i]."</td><td>".$telefono_[$i]."</td><td>".$interno_[$i]."</td><td>".$codcontacto_[$i]."</td><td>".$fecha_[$i]."</td><td>".$hora_[$i]."</td><td>".$asesor_[$i]."</td><td>".$resultado_[$i]."</td><td>".$motivo_[$i]."</td><td>".$observaciones_[$i]."</td>";
  4.             $shtmo=$shtm."</tr>";  
  5.         }
  6.         $shtml=$shtml."</table>";
Aqui lo que hice fue usar el iterador nuevamente desde la posicion 0 hasta la posicion $total_datos (es el total de datos obtenidos de la consulta) y con ello voy armando las diferentes filas con los datos que me tira la consulta.

Código PHP:
Ver original
  1. $sfile="./Temporal/ConsultaListadoResultadosBanred.xls"; //ruta del archivo a generar
  2.         $fp=fopen($sfile,"w");
  3.         fwrite($fp,$shtml);
  4.         fclose($fp);
Por ultimo genero un archivo en la carpeta con la ruta indicada en $sfile , la abro luego con el fopen y le digo que escriba los datos que concatene en texto (la tabla que generamos) y por ultimo cierro el archivo.

Fijate que la carpeta en la cual guardas el archivo tiene que tener permisos de escritura !!

Cualquier duda a las ordenes !!!